Файл: Двумерные массивы.pptx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.11.2023

Просмотров: 21

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Двумерные массивы

Описание двумерного массива

Описание двумерного массива в разделе Var аналогично описанию одномерного массива, только необходимо указывать диапазон изменения двух индексов - столбцов и строк.

Ввод элементов двумерного массива с клавиатуры

writeln (‘Введите элементы массива’);

for i:=1 to n do

for j:= 1 to m do

begin

write (‘a[‘, i, ’,’, j, ’]=‘);

readln (a[i , j]);

end;

Вывод элементов двумерного массива в виде таблицы

writeln (‘Вывод массива по строкам’);

for i:=1 to n do

begin

for j:= 1 to m do write (a[ i, j] :5);

writeln;

end;

Заполнение двумерного массива случайными числами

randomize;

for i:=1 to n do

begin

for j:=1 to m do

begin

a[i , j]:=random(11)+2;

write(a[i , j],’ ‘);

end;

writeln;

end;

Массив заполняется случайными целыми числами из интервала [2,12]

Суммирование элементов двумерного массива

Program summa_1;

Const n1=100; m1=100;

Begin

randomize;

write(‘Количество строк > ‘); readln(n);

write(‘Количество столбцов > ‘); readln(m);

for i:=1 to n do

for j:=1 to m do

a[i , j]:=random(11)+2;

for i:=1 to n do

begin

writeln;

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;

Begin

randomize;

write(‘Введите количество строк‘); readln(n);

write(‘Введите количество столбцов‘); readln(m);

for i:=1 to n do

for j:=1 to m do a[i , j]:=random(11)+2;

for i:=1 to n do

begin

writeln;

end;

for i:=1 to n do

begin

sum:=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.

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.

Двумерные массивы


В Паскале двумерный массив трактуется как одномерный массив, каждый элемент которого также является массивом (массив массивов)

Если количество строк равно количеству столбцов, то матрица называется квадратной.

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 do

for j:= 1 to m do

begin

write (‘a[‘, i, ’,’, j, ’]=‘);

readln (a[i , j]);

end;


{Цикл по номерам строк - перебирает строки}

{Цикл по номерам столбцов}

Вывод элементов двумерного массива в виде таблицы

writeln (‘Вывод массива по строкам’);

for i:=1 to n do

begin

for j:= 1 to m do write (a[ i, j] :5);

writeln;

end;


{Перебор строк}

{Перебор столбцов и вывод элемента}

{Переход на новую строку}

Заполнение двумерного массива случайными числами

randomize;

for i:=1 to n do

begin

for j:=1 to m do

begin

a[i , j]:=random(11)+2;

write(a[i , j],’ ‘);

end;

writeln;

end;

Массив заполняется случайными целыми числами из интервала [2,12]


Суммирование элементов двумерного массива

Program summa_1;

Const n1=100; m1=100;

Begin

randomize;

write(‘Количество строк > ‘); readln(n);

write(‘Количество столбцов > ‘); readln(m);

for i:=1 to n do

for j:=1 to m do

a[i , j]:=random(11)+2;

for i:=1 to n do

begin

writeln;

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;

Begin

randomize;

write(‘Введите количество строк‘); readln(n);

write(‘Введите количество столбцов‘); readln(m);

for i:=1 to n do

for j:=1 to m do a[i , j]:=random(11)+2;

for i:=1 to n do

begin

writeln;

end;

for i:=1 to n do

begin

sum:=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.