
11-Lekciya
.pdf
Kóp ólshemli massivler
Joba:
1.Eki ólshemli massivler;
2.Eki ólshemli massivlerdi inicializaciyalaw;
3.Eki ólshemli massivler ústinde ámeller;
4.Kóp ólshemli massivler.
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Eki ólshemli massivler
Eki ólshemli massivler – massiv ishindegi massivler. Yaǵnıy, massivtiń hár bir elementi jáne massivlerden turadı. Eki ólshemli massivlerdi keste
kórinisinde kóz aldımızǵa keltiriwimizge boladı. Bunda massivtiń birinshi |
|||||
ólshemi kesteniń qatarı, ekinshi ólshemi baǵanası esaplanadı. |
|||||
Qatar indeksleri |
0 |
1 |
2 |
3 |
Baǵana indeksleri |
0 |
6 |
3 |
0 |
9 |
|
1 |
5 |
7 |
1 |
4 |
massiv[1][1] |
|
|||||
2 |
5 |
8 |
2 |
7 |
massiv[2][3] |
Massivte 3 qatar hám 4 baǵana, yaǵnıy 3x4=12 element bar |
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Eki ólshemli massivler
x
x[0] |
|
|
x[0][0] |
x[0][1] |
x[0][2] |
x[0][3] |
x[0].length - 4 |
|
|
||||||
|
|
|
|
|
|
|
|
x[1] |
|
|
|
|
|
|
|
|
|
x[1][0] |
x[1][1] |
x[1][2] |
x[1][3] |
x[1].length - 4 |
|
x[2] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x[2][0] |
x[2][1] |
x[2][2] |
x[2][3] |
x[2].length - 4 |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
x.length - 3
int[][] massiv = { |
|
|
1 |
2 |
3 |
4 |
5 |
{1, 2, 3, 4, 5}, |
|
||||||
|
|
|
|
|
|
|
|
{2, 3, 4, 5}, |
|
|
|
|
|
|
|
|
|
2 |
3 |
4 |
5 |
|
|
{3, 4, 5}, |
|
|
|
||||
|
|
|
|
|
|
|
|
{4, 5}, |
|
|
|
|
|
|
|
|
|
3 |
4 |
5 |
|
|
|
{5} |
|
|
|
|
|||
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
4 |
5 |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Eki ólshemli massivlerdi táriyplew
Bir ólshemli massivlerdi táriyplewdi bilseńiz, eki ólshemli massivlerdi táriyplew sizge qıyınshılıq tuwdırmaydı. Sebebi, eki ólshemli massivlerde eki kvadrat qawıs boladı, qalǵan barlıǵı bir ólshemli massivtegidey boladı. Tómende eki ólshemli massivti táriyplewdiń 2 usılı ketlirilgen:
№ |
Eki ólshemli massivler |
Mısallar |
Túsindirmesi |
1. |
massivTipi[][] |
int[][] arr; |
Java-stil. Massivtı |
|
massivAtı; |
String[][] str; |
usınday táriyplew usınıs |
|
|
|
etiledi |
2. |
massivTipi |
int arr[][]; |
C/C++ tillerinen miyras |
|
massivAtı[][]; |
String str[][]; |
bolıp qalǵan táriyplew |
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Massivti jaratıw
Eki ólshemli massivlerge yadtan orın ajıratıwdıń eki usılı bar bolıp, birinshisi bir ólshemli massivlerge uqsas ámelge asırıladı. Ekinshisinde cikl operatorınan paydanalıladı. Mısalı, 2 ólshemli 3x3 haqıyqıy sanlardan ibarat bolǵan massiv tómendegishe jaratıladı:
1-usıl:
double[][] arr = new double[3][3];
2-usıl:
double[][] arr = new double[3][];
for (int i = 0; i < arr.length; i++) { arr[i] = new double[3];
}
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Eki ólshemli massivti inicializaciyalaw
Eki ólshemli massivlerdi inicializaciyalaw bir ólshemli massivlerge uqsas
ámelge asırıladı. Tek ǵana qosımsha bir kvadrat qawıs hám ózgeriwshi qosıladı. Mısalı, 2x2 bolǵan massivke 1 den 4 ke shekemgi mánislerdi menshiklew tómendegishe ámelge asırıladı.
int[][] mas = new int[2][2];/* Eki ólshemli massiv jaratıldı hám yadtan 4 orın ajıratıldı */
mas[0][0] = 1;// 0-qatar, 0-baǵanaǵa 1 mas[0][1] = 2;// 0-qatar, 1-baǵanaǵa 2 mas[1][0] = 3;// 1-qatar, 0-baǵanaǵa 3 mas[1][1] = 4;// 1-qatar, 1-baǵanaǵa 4
Inicializaciyalawdı massivti táriyplew waqtında da ámelge asırıwǵa boladı:
int[][] mas = new int[][]{{1, 2},{3, 4}};
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Massivti inicializaciyalaw hám nátiyjege shıǵarıw
Eki ólshemli massiv elementlerin programma orınlanıw waqtında kiritiw:
Scanner in = new Scanner(System.in); double[][] arr = new double[2][2]; for (int i=0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) arr[i][j] = in.nextDouble();
}
Eki ólshemli massiv elementlerin keste kórinisinde nátiyjege shıǵarıw tómendegishe ámelge asırıladı:
for (int i=0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) System.out.print(arr[i][j] + " ");
System.out.print();
}
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Kóp ólshemli massivler
Kóp ólshemli massivler tómendegishe táriyplenedi:
int[][][] ushOlshemli; // 3 ólshemli massiv String[][][][] tortOlshemli; // 4 ólshemli massiv double[][][][][][] besOlshemli; // 5 ólshemli massiv
hám tómendegishe jaratıladı:
ushOlshemli = new int[10][10][10]; tortOlshemli = new String[10][10][10][10]; besOlshemli = new double[10][10][10][10][10];
Programmistler ádette 1 hám 2 ólshemli massivlerden kóbirek paydalanıladı. 3 ólshemli massivlerden júda az, 4 hám onnan joqarı ólshemli massivlerden derlik paydalanbaydı.
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

Mısallar
1.n x n 2 ólshemli, elementleri pútin sanlardan ibarat bolǵan massiv berilgen. Massivtiń jup elementlerin bir ólshemli massivke jazıwshı hám nátiyjeni ekranǵa shiǵarıwshı programma dúziń.
2.n x m 2 ólshemli, elementleri pútin sanlardan ibarat bolǵan massiv berilgen. Massivtiń hár bir qatarındaǵı eń úlken elementlerin nátiyjege shıǵarıwshı programma dúziń.
3.n x n 2 ólshemli, elementleri haqıyqıy sanlardan ibarat bolǵan matrica berilgen. Matricanıń bas dioganal hám keri dioganal elementleriniń qosındısın nátiyjege shıǵarıwshı programma dúziń.
4.n x n 2 ólshemli, elementleri haqıyqıy sanlardan ibarat bolǵan matrica berilgen. Matricanıń er noqatın tabıwshı programma dúziń (er noqat – qatardaǵı eń kishi hám baǵanadaǵı eń úlken element).
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>

1-máseleniń shıǵarılıwı
Scanner in = new Scanner(System.in); int k = 0, n;
System.out.print("n="); n = in.nextInt();
int[] arr1 = new int[n*n]; int[][] arr2 = new int[n][n]; for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){ arr2[i][j] = in.nextInt(); if(arr2[i][j] % 2 == 0)
arr1[k++]=arr2[i][j];
}
}
for(int i = 0; i < k; i++)
System.out.print(arr1[i] + " ");
run:
n=3
1 2 3
4 5 6
7 8 9
2 4 6 8
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>