Предмет: Информатика,
автор: 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
Похожие вопросы
Предмет: Алгебра,
автор: sginayatova82
Предмет: Оʻzbek tili,
автор: shevchenkomilana9
Предмет: Английский язык,
автор: aernisova6
Предмет: Информатика,
автор: ККСенИЯЯ