Двумерный массив.
Ввод массива A= {a[i,j]}, i =1,…,m; j=1,…,n .
for i:=1 to m do
for j:=1 to n do readln(a[i, j]); {в один столбец}
Вывод массива A= {a[i,j]}, i =1,…,m; j=1,…,n .
for i:=1 to m do
begin
for j:=1 to n do write(a[i, j]:6);
writeln;
end; {в виде матрицы (m x n)}
Пример 11.1 Ввести и вывести двумерный массив A( 3, 3).
Program Pr_11_1;
const m=3; n=3;
type
ar=array[1..m,1..n] of real;
var
a:ar; i,j:integer;
begin
writeln('vvedite massiv');
for i:=1 to m do
for j:=1 to n do
read (a[i,j]);
writeln('vivedite massiv');
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:6:2);
writeln;
end;
end.
Пример 11.1 (Продолжение).
1) Организовать по программе ввод двумерного массива А(3,3) в одну строку (1, 2, 3, 4, 5, 6, 7, 8, 9), а выводв ви-дематрицы (3, 3): 1 2 3
4 5 6
7 8 9
2) Как описывается двумерный массив?
3) Объяснить работу программы.
4) Нарисовать блок-схему и объяснить назначение бло-ков.
5) Как надо изменить програм-му, чтобы организовать ввод массива в один столбец.
Пример 11.2 Найти сумму элементов матрицы A( 3, 3) (см. 11.1).
Program Pr_11_2;
const m=3; n=3;
var a:array[1..m,1..n] of real;
i,j,k:integer; S:real;
begin
writeln('vvedite massiv');
for i:=1 to m do
for j:=1 to n do
read (a[i,j]);
S:=0;
for i:=1 to m do
for j:=1 to n do
begin
S:=S+a[i,j];
end;
writeln('vivedite massiv');
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:6:2);
writeln;
end;
writeln('S=',S:6:2)
end.
Пример 11.2 (Продолжение).
1) Как описывается двумерный массив?
2) В каком виде вводится мас-сив (строка или столбец)?
3) Объяснить работу программы.
4) В каком виде выводится мас-сив?
5) Провести вычисление для массива А(3,3): (1, 2, 3, 4, 5, 6, 7, 8, 9).
Пример 11.3Найти среднее арифметическое элементов матрицы
A( 3, 3) (см. 11.1).
Program Pr_11_3;
const m=3; n=3;
var a:array[1..m,1..n] of real;
i,j,k:integer; S,Sarifm:real;
begin
writeln('vvedite massiv');
for i:=1 to m do
for j:=1 to n do
read (a[i,j]);
S:=0; k:=0;
for i:=1 to m do
for j:=1 to n do
begin
S:=S+a[i,j]; k:=k+1;
end;
Sarifm:=S/k;
writeln('vivedite massiv');
for i:=1 to m do
begin
for j:=1 to n do
write(a[i,j]:6:2);
writeln;
end;
writeln('S=',S:6:2);
writeln('k=',k:6);
writeln('Sarifm=',Sarifm:6:2)
end.
Пример 11.3 (Продолжение).
1) Как описывается двумерный массив?
2) В каком виде вводится мас-сив (строка или столбец)?
3) Объяснить работу программы.
4) В каком виде выводится мас-сив?
5) Провести вычисление для массива А(3,3): (1, 2, 3, 4, 5, 6, 7, 8, 9).
Пример 11.4 Найти среднее геометрическое элементов матрицы
A( 3, 3) (см. 11.1).
Program Pr_11_4;
const m=3; n=3;
var
a:array[1..m,1..n] of real;
i,j:integer;
P,Sgeom:real;
begin
writeln('vvedite massiv');
for j:=1 to m do
for i:=1 to n do
read(a[i,j]);
P:=1;
for i:=1 to m do
for j:=1 to n do
begin
P:=P*a[i,j];
end;
Sgeom:=exp((1/(m*n))*ln(P));
writeln('P=',P:10:2);
writeln('Sgeom=',Sgeom:8:2)
end.