С клавиатуры вводится матрица вещественных чисел размером N строк ** M столбцов. N не...

0 голосов
45 просмотров

С клавиатуры вводится матрица вещественных чисел размером N строк на M столбцов. N не превосходит 10, M не превосходит 20. Сформировать одномерный массив из количеств ненулевых элементов строк матрицы. Переписать сформированный одномерный массив в обратном порядке. Вывести результаты.
решить в кумире/паскале


Информатика | 45 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var 
a:array[1..10,1..20] of real;
b:array[1..10] of integer;
n,m,k,i,j:integer;
begin
write('n = '); readln(n);
write('m = '); readln(m);
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]:4:1,' ');
 writeln;
 end;
for i:=1 to n do
 begin
 k:=0;
 for j:=1 to m do
   if a[i,j] = 0 then k:=k+1; 
 b[i]:=k;
 end;
writeln('Полученный массив:');
for i:=1 to n do write(b[i]:3);
writeln;
for i:=1 to n div 2 do
 begin k:=b[i]; b[i]:=b[n-i+1]; b[n-i+1]:=k; end;
writeln('Измененный массив:');
for i:=1 to n do write(b[i]:3);
writeln;
end.

Пример:
n = 3
m = 4
a[1,1] = 2.1
a[1,2] = -4.5
a[1,3] = 0.0
a[1,4] = 7.0
a[2,1] = 5.6
a[2,2] = 9.1
a[2,3] = -4.0
a[2,4] = -1.9
a[3,1] = -4.8
a[3,2] = 0.0
a[3,3] = -6.7
a[3,4] = 0.0
Исходный массив:
 2.1 -4.5  0.0  7.0
 5.6  9.1 -4.0 -1.9
-4.8  0.0 -6.7  0.0
Полученный массив:
  1  0  2
Измененный массив:
  2  0  1

(194k баллов)