Хотите получать новые статьи блога
прямо себе на почту?
Укажите свой e-mail:


WorldSkills Russia
Яндекс.Метрика Интернет-издание Профобразование

Обработка двумерных массивов

0

Описание массива в разделе переменных:

[pascal]
const
M = 4; //количество строк
N = 5; //количество столбцов
var
a: array [1..M, 1..N] of integer;
[/pascal]


Заполнение массива с клавиатуры и вывод на экран в виде матрицы:

[pascal]
writeln (‘Введите M?N чисел: ‘);
//заполнение массива с клавиатуры
for i := 1 to M do
for j := 1 to N do
read (a[i,j]);
//вывод массива на экран
for i := 1 to M do begin
for j := 1 to N do
write (a[i,j]:5);
Writeln;
end;
[/pascal]


Заполнение массива генератором случайных чисел и вывод на экран в виде матрицы:

[pascal]
randomize;
for i := 1 to M do begin
for j := 1 to N do begin
//заполнение элементов массива случайными числами
a[i,j]:=Random(10);
write (a[i,j]:5); //вывод элемента на экран
end;
writeln;
end;
[/pascal]


Подсчёт суммы элементов массива и вывод результата на экран:

[pascal]
S:=0; //обнуляем сумму
//через циклы производим суммирование всех элементов матрицы
for i := 1 to M do
for j := 1 to N do
S := S+a[i,j];
writeln(‘S= ‘,S); //выводим результат суммы на экран
[/pascal]


Подсчёт суммы элементов каждой строки матрицы и вывод результата на экран:

[pascal]
for i := 1 to M do begin
S := 0; //обнуляем сумму
for j := 1 to N do begin
S := S + a[i,j]; //находим сумму элементов строки
end;
writeln(‘S = ‘,S); //выводим результат суммы на экран
end;
[/pascal]


Подсчёт суммы элементов каждого столбца матрицы и вывод результата на экран:

[pascal]
for j := 1 to N do begin
S := 0; //обнуляем сумму
for i := 1 to M do begin
S := S + a[i,j]; //находим сумму элементов строки
end;
writeln(‘S = ‘,S); //выводим результат суммы на экран
end;
[/pascal]


Блок заполнения элементов главной диагонали массива (матрицы):

[pascal]
for i:=1 to N do a[i,i] := 1;
[/pascal]

или

[pascal]
for i := 1 to N do
for j := 1 to N do
if i = j then a[i,j] := 1;
[/pascal]


Блок заполнения элементов над главной диагональю массива (матрицы):

[pascal]
for i := 1 to N-1 do
for j := i+1 to N do a[i,j] := 2;
[/pascal]

или

[pascal]
for i := 1 to N do
for j := 1 to N do
if i < j then a[i,j] := 2;
[/pascal]


Блок заполнения элементов под главной диагональю массива (матрицы):

[pascal]
for i := 2 to N do
for j := l to i-1 do a[i,j] := 3;
[/pascal]

или

[pascal]
for i := 1 to N do
for j := 1 to N do
if i > j then a[i,j] := 3;
[/pascal]


Блок заполнения элементов побочной диагонали массива (матрицы):

[pascal]
for i := 1 to N do A[i,N-i+1] := 4;
[/pascal]

или

[pascal]
for i := 1 to N do
for j := 1 to N do
if i+j = n+1 then a[i,j] := 4;
[/pascal]


Блок заполнения элементов над побочной диагональю массива (матрицы):

[pascal]
for i := 1 to N-1 do
for j := l to N-i do A[i,j] := 5;
[/pascal]

или

[pascal]
for i := 1 to N do
for j := 1 to N do
if i+j < n+1 then a[i,j] := 5;
[/pascal]

Блок заполнения элементов под побочной диагональю массива (матрицы):

[pascal]
for i := 2 to N do
for j := N downto N-(i-2) do A[i,j] := 6;
[/pascal]

или

[pascal]
for i := 1 to N do
for j := 1 to N do
if i+j > n+1 then a[i,j] := 6;
[/pascal]