Предмет: Информатика,
автор: narik4
Заполнить двухмерный массив размера N*M случайными целыми числами, диапазон изменения которых вводится с клавиатуры.
Вывести массив на экран.
Заполнить одномерный массив, элементами которого является сумма элементов каждой строки двухмерного массива. Вывести его на экран(Тоже задание сделать и для столбцов).
Ответы
Автор ответа:
0
const
nn = 50;
nm = 50;
var
Mas: array[1..nn, 1..nm] of integer;
R: array[1..nn] of integer;
C: array[1..nm] of integer;
i, j, n, m, k, s, a, b, p : integer;
begin
Write('Введите число строк и столбцов матрицы: '); Readln(n,m);
Write('Введите границы для элементов массива: '); Readln(a,b);
{ защита от злобных буратинок }
if a>b then begin k:=a; a:=b; b:=k end;
{ найдем количество позиций, требуемое для вывода элементов }
k:=(b-a+1);
if k=0 then p:=2
else begin
if k<0 then begin p:=4; k:=-k end
else p:=3;
p:=p+trunc(ln(k)/ln(10))
end;
{ заполнение массива случайными числами }
Randomize;
Writeln('Исходная матрица');
for i := 1 to n do
begin
for j := 1 to m do
begin
Mas[i, j] := Random(b-a+1) + a;
Write(Mas[i, j]:p)
end;
Writeln
end;
{ суммы по строкам }
Writeln('Суммы элементов по строкам');
for i:=1 to n do
begin
s:=0;
for j:=1 to m do s:=s+Mas[i,j];
R[i]:=s;
Writeln(s:p+1)
end;
{ суммы по столбцам }
Writeln('Суммы элементов по столбцам');
for j:=1 to m do
begin
s:=0;
for i:=1 to n do s:=s+Mas[i,j];
C[j]:=s;
Write(s:p+1)
end;
Writeln
end.
Тестовое решение:
Введите число строк и столбцов матрицы: 6 9
Введите границы для элементов массива: -50 200
Исходная матрица
94 -48 2 83 -49 125 18 110 15
168 51 57 196 18 132 -36 -25 56
95 55 1 20 -50 -27 174 -11 -27
109 142 155 -34 188 160 175 -46 196
27 85 156 103 -50 13 64 36 -14
122 116 -2 42 173 177 22 145 67
Суммы элементов по строкам
350
617
230
1045
420
862
Суммы элементов по столбцам
615 401 369 410 230 580 417 209 293
nn = 50;
nm = 50;
var
Mas: array[1..nn, 1..nm] of integer;
R: array[1..nn] of integer;
C: array[1..nm] of integer;
i, j, n, m, k, s, a, b, p : integer;
begin
Write('Введите число строк и столбцов матрицы: '); Readln(n,m);
Write('Введите границы для элементов массива: '); Readln(a,b);
{ защита от злобных буратинок }
if a>b then begin k:=a; a:=b; b:=k end;
{ найдем количество позиций, требуемое для вывода элементов }
k:=(b-a+1);
if k=0 then p:=2
else begin
if k<0 then begin p:=4; k:=-k end
else p:=3;
p:=p+trunc(ln(k)/ln(10))
end;
{ заполнение массива случайными числами }
Randomize;
Writeln('Исходная матрица');
for i := 1 to n do
begin
for j := 1 to m do
begin
Mas[i, j] := Random(b-a+1) + a;
Write(Mas[i, j]:p)
end;
Writeln
end;
{ суммы по строкам }
Writeln('Суммы элементов по строкам');
for i:=1 to n do
begin
s:=0;
for j:=1 to m do s:=s+Mas[i,j];
R[i]:=s;
Writeln(s:p+1)
end;
{ суммы по столбцам }
Writeln('Суммы элементов по столбцам');
for j:=1 to m do
begin
s:=0;
for i:=1 to n do s:=s+Mas[i,j];
C[j]:=s;
Write(s:p+1)
end;
Writeln
end.
Тестовое решение:
Введите число строк и столбцов матрицы: 6 9
Введите границы для элементов массива: -50 200
Исходная матрица
94 -48 2 83 -49 125 18 110 15
168 51 57 196 18 132 -36 -25 56
95 55 1 20 -50 -27 174 -11 -27
109 142 155 -34 188 160 175 -46 196
27 85 156 103 -50 13 64 36 -14
122 116 -2 42 173 177 22 145 67
Суммы элементов по строкам
350
617
230
1045
420
862
Суммы элементов по столбцам
615 401 369 410 230 580 417 209 293
Похожие вопросы
Предмет: Українська мова,
автор: C1nnam0n0fflin2
Предмет: Математика,
автор: liza34999
Предмет: История,
автор: mixa271006
Предмет: Информатика,
автор: ККСенИЯЯ