Двумерные массивы
Скачать 150.66 Kb.
|
Двумерные массивыВ Паскале двумерный массив трактуется как одномерный массив, каждый элемент которого также является массивом (массив массивов) Если количество строк равно количеству столбцов, то матрица называется квадратной. A Главная диагональ Побочная диагональ Квадратная матрица размером 3*3 Матрица, состоящая из 3 строк и 4 столбцов – элемент расположен в первой строке второго столбца. Элементы первой строки Элементы второго столбца Описание двумерного массиваОписание двумерного массива в разделе Var аналогично описанию одномерного массива, только необходимо указывать диапазон изменения двух индексов - столбцов и строк.Var b:array [1..15,1..20] of real; Или Const n=15; m=20; Var a:array [1..n, 1..m] of integer; Обращение к элементам двумерного массива в Паскале имеет вид: a [ i , j ], где a - имя массива, описанного в блоке VAR, i - номер строки, j - номер столбца. a [1 , 2 ] – обращение к элементу 1-й строки 2-го столбца массива a. Обращение к элементам Ввод элементов двумерного массива с клавиатурыwriteln (‘Введите элементы массива’);for i:=1 to n dofor j:= 1 to m dobeginwrite (‘a[‘, i, ’,’, j, ’]=‘);readln (a[i , j]);end;{Цикл по номерам строк - перебирает строки} {Цикл по номерам столбцов} Вывод элементов двумерного массива в виде таблицыwriteln (‘Вывод массива по строкам’);for i:=1 to n dobeginfor j:= 1 to m do write (a[ i, j] :5);writeln;end;{Перебор строк} {Перебор столбцов и вывод элемента} {Переход на новую строку} Заполнение двумерного массива случайными числамиrandomize;for i:=1 to n dobeginfor j:=1 to m dobegina[i , j]:=random(11)+2;write(a[i , j],’ ‘);end;writeln;end;Массив заполняется случайными целыми числами из интервала [2,12]Суммирование элементов двумерного массиваProgram summa_1;Const n1=100; m1=100;Beginrandomize;write(‘Количество строк > ‘); readln(n);write(‘Количество столбцов > ‘); readln(m);for i:=1 to n dofor j:=1 to m doa[i , j]:=random(11)+2;for i:=1 to n dobeginwriteln;end;sum:=0; for i:=1 to n do for j:=1 to m do sum:=sum+a[i,j]; writeln('Сумма=',sum);end.Найти сумму элементов каждой строки массиваProgram summa_2;Const n1=100; m1=100;Beginrandomize;write(‘Введите количество строк‘); readln(n);write(‘Введите количество столбцов‘); readln(m);for i:=1 to n dofor j:=1 to m do a[i , j]:=random(11)+2;for i:=1 to n dobeginwriteln;end;for i:=1 to n dobeginsum:=0; for j:=1 to m do sum:=sum+a[i,j]; writeln('Сумма=',sum);end; end.Program sum;Const n1=10; m1=12;i, j, sum : integer;Begin… {Вставить - ввод размерности, ввод элементов массива и вывод в виде таблицы}sum:=0; for i:=1 to n do sum:=sum+a[i,i]; writеln ('Сумма=',sum);end.На главной диагонали номер строки равен номеру столбца, т.е. элементами главной диагонали являются a11, a22, a33 и т.д. Program sum;Const n=10; m=12;Var a:array [1..n,1..m] of integer;zum:array [1..m] of integer;I, j, sum : integer;Begin… {Вставить - ввод элементов массива и вывод в виде матрицы}for j:=1 to m do begin sum:=0; for i:=1 to n do sum := sum +x[i,j]; zum[ j ]: =sum end; for j:=1 to m do write (zum[ j ]:4);End. |