Похожие презентации:
Массивтер. Екіөлшемді массивтер
1.
Массивтер. Екіөлшемдімассивтер
2.
Массив бір типті деректер жиынын білдіреді. Массив тің белгіленуі төртбұрыштыжақшалар түрден кейін орналасқан:
• тип_переменной[] название_массива;
Мысалы, бүтін сандардың массивін анықтайық :
int[] numbers;
Жиынның айнымалысын анықтағаннан кейін біз оған белгілі бір мән тағайындай
аламыз :
int[] nums = new int[n];
Мұнда біз алдымен int типіндегі деректерді сақтайтын nums массивін
жарияладық. Әрі қарай, жаңа операцияны қолдана отырып, біз n массив
элементтері үшін жадты бөлдік: new int[n]. n саны массив ұзындығы. int түрі
үшін әдепкі мән 0 болып табылады. Элементтердің мәндерін көрсетейік:
int[] nums2 = new int[n] { a1, a2, a3, a4 };
int[] nums3 = new int[] {a1, a2, a3, a4 };
int[] nums4 = new[] a1, a2, a3, a4 };
int[] nums5 = {a1, a2, a3, a4 };
Жоғарыда аталған әдістердің барлығы эквивалентті болады.
Жол түрінің мәндерінің массиві:
string[] people = { "Tom", "Sam", "Bob" };
3.
• Индекстер және массив элементтерін алу Индексмассивтегі элементтің нөмірін көрсетеді, ал
нөмірлеу нөлден басталады, сондықтан бірінші
элементтің индексі 0, төртінші элементтің индексі 3
болады. Индекстерді пайдалана отырып, біз
массивтің элементтерін аламыз:
int[] numbers = {a1, a2, a3, a4 }; // получение элемента
массива
Console.WriteLine(numbers[3]); // a4
// получение элемента массива в переменную
var n = numbers[1]; // a2
Console.WriteLine(n); // a2
4.
• Length операторы массив ұзындығын береді. Құрылған сандармассивінің ұзындығын алайық:
int[] numbers = {a1, a2, a3, a4 };
Console.WriteLine(numbers.Length); // 4
Массивтерді қайталау
Массивтерді қайталау үшін foreach циклі пайдалана аламыз.
Мысалы:
int[] numbers = { 1, 2, 3, 4, 5 };
foreach (int i in numbers)
{
Console.WriteLine(i);
}
5.
• Жол және бағаннан тұратын (2-ге тең дәрежелі)массивтер екі өлшемді массив деп аталады.
• Мысалы екі өлшемді массивтерді жасайық:
a1
a2
a3
a4
a5
a6
int[,] nums2 = { { a1, a2, a3 }, { a4, a5, a6 } };
N-жол, m -баған
Бұл екі өлшемді массивтерді анықтаудың барлық мүмкін
жолдары:
nums1;
• 12 int[,]
int[,] nums2 = new int[n, m];
3
4
5
6
int[,]
int[,]
int[,]
int[,]
nums3
nums4
nums5
nums6
=
=
=
=
new int[n, m] { {a1, a2, a3 }, {a4, a5, a6 } };
new int[,] { {a1, a2, a3 }, {a4, a5, a6 } };
new [,]{ {a1, a2, a3 }, {a4, a5, a6 } };
{ {a1, a2, a3 }, a4, a5, a6 } };
6.
Көпөлшемді массивте қайталану (перебор)int[,] numbers = { { а1, а2, а3 }, { а4, а5, а6 }};
foreach (int i in numbers)
Console.Write($"{i} ");
Бұл жағдайда сандар массивінің ұзындығы 6 болады. Ал foreach циклі
массивтің барлық элементтерін бір жолға басып шығарады:
а1 а2 а3 а4 а5а6
• Егер кестедегі әрбір жолды жеке қайталағымыз келсе, ондақ
өшемдегі элементтердің санын алу керек. Атап айтқанда, әрбір
массивте берілген өлшемдегі соңғы элементтің индексін
қайтаратын GetUpperBound(dimension_number) әдісі бар. Ал егер
біз тікелей екі өлшемді массив туралы айтатын болсақ, онда
бірінші өлшем (индекс 0) негізінен кесте болып табылады. Және
мына өрнекпен белгіленеді:
numbers.GetUpperBound(0) + 1
• Екі өлшемді массивпен берілген кестенің жолдар санын алуға
болады:
• numbers.Length / количество_строк
7.
Әр жолдағы элементтердің санын алуға болады:int[,] numbers = { { а1, а2, а3 }, { а4, а5, а6 }};
int rows = numbers.GetUpperBound(0) + 1; // количество строк
int columns = numbers.Length / rows;
// количество столбцов
// или так
// int columns = numbers.GetUpperBound(1) + 1;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
Console.Write($"{numbers[i, j]} \t");
}
Console.WriteLine();
}