C# тілінде массивтер элементтерінің мәндері динамикалық болып табылады, яғни оларға жады бағдарлама жұмысының үдерісінде new операциясының көмегімен «үйіндіде» бөлінеді. C# тілінің осындай ерекшелігі бағдарламаларда динамикалық массивтер құруға мүмкіндік берді, яғни олардың элементтер саны бағдарлама жұмысының үдерісінде анықталатын массивтер. Көптеген есептердің тобы бар, онда массив өлшемі бағдарлама жұмысының үдерісінде анықталады немесе пайдаланушы диалогында берілуі тиіс, мысалы, каталогтағы файлдар немесе қоймадағы тауарлар саны.
Таза синтаксис жағынан статикалық және динамикалық массивтерді жариялауда маңызды айырмашылық жоқ. Шынында массивтерді жариялауда сандық сипаттамалар болмайды, мысалы, double[] mas;, ал массивті инициализациялау бағдарлама жұмысы уақытында new операциясы арқылы орындалады. Егер диалогта массив элементтер саны берілсе, динамикалық массивті жариялау мен инициализациялауды бірге орындауға болады. Мысалы:
Console.WriteLine("masi massivinin elementterin engiz ");
int size = int.Parse(Console.ReadLine());
int[] masi = new int[size];
C# тілінде динамикалық массивтер болып бір өлшемді массивтер ғана болады. Динамикалық массивтер элементтерінің санына сай келетін айнымалылардың мәні оларды инициализациялауға дейін анықталуы керек.
5.4-есеп. Топ студенттері «C# тілінде бағдарламалау» пәні бойынша емтихан тапсырады. Топтағы студенттер саны диалог режімінде беріледі (20 көп емес). Бағалар (балл түрінде анықталады) 20-дан 100 дейінгі аралықта кездейсоқ түрде құрылады. Топтың емтихан бағасын динамикалық массивте ұйымдастыру керек. Емтихан нәтижесін шығарыңыз.
Бағдарламаның коды:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
Console.WriteLine("20-dan aspaitin noptagi studentterdin sanin engiziniz");
int size = int.Parse(Console.ReadLine());
int[] masi = new int[size];
int i;
Random rnd = new Random();
for (i = 0; i < size; i++)
Console.Write(" {0,3}", i + 1);
Console.WriteLine();
for (i = 0; i < size; i++)
{
masi[i] = rnd.Next() % 81 + 20;
Console.Write(" {0,3}", masi[i]);
}
Console.WriteLine();
Console.WriteLine("Enter pernesin basiniz");
Console.ReadLine();
}
}
}
Бағдарлама жұмысы:
20-dan aspaitin noptagi studentterdin sanin engiziniz
15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
76 72 28 63 72 90 95 58 39 38 60 56 87 92 91
Enter pernesin basiniz
Массивтің әрбір мәнін шығарғанда оның позициясының саны көрсетіледі – {0,3}, ол бағдарлама жұмысының нәтижесін ыңғайлы түрде көрсетуге мүмкіндік береді.
Достарыңызбен бөлісу: |