Нужна по информатике за 11 класс по теме массивы в оценка за ! 100 ! 1)(в паскале)дана матрица размера м x n.в каждой ее строке найти количество отрицательных элементов и вывести результаты на экран с указанием номера строки. 2)дан двумерный массив.определить среднее арифметическое элементов главной диагонали массива. будьте добры,хотя бы одну

полина10092003 полина10092003    3   17.08.2019 00:30    0

Ответы
yanaela2006 yanaela2006  04.10.2020 23:42
// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ReadInteger('Количество строк в матрице:');
  var n:=ReadInteger('Количество столбцов в матрице:');
  Writeln('*** Исходная матрица [',m,',',n,'] ***');
  var a:=MatrRandom(m,n,-50,50);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var b:=a.Rows.Select((x,r)->(x.Where(q->q<0).Count,r));
  foreach var x in b do Write(x[1]+1,')',x[0],'  ')
end.

Пример
Количество строк в матрице: 5
Количество столбцов в матрице: 8
*** Исходная матрица [5,8] ***
  40  50   4  44  10  13  39   5
  10 -41  -9  38  27  -9  34   9
   8  29  37 -18  13 -41  23  -8
  15 -49 -27 -31 -22  -4  46 -31
 -36  36  34 -43 -33 -23 -24  -6

1)0  2)3  3)3  4)6  5)6 

// PascalABC.NET 3.2, сборка 1363 от 17.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var m:=ReadInteger('Количество строк/столбцов в матрице:');
  Writeln('*** Исходная матрица [',m,',',m,'] ***');
  var a:=MatrRandom(m,m,-50,50);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var s:=0;
  for var i:=0 to m-1 do s:=s+a[i,i];
  Writeln('Ср.арифметическое равно ',s/m)
end.

Пример
Количество строк/столбцов в матрице: 5
*** Исходная матрица [5,5] ***
  10  47  -5 -37  30
  44  39   1  24  46
  47   6 -26 -32 -16
  -8 -49  18  15  22
   4   4 -48 -36 -14

Ср.арифметическое равно 4.8
ПОКАЗАТЬ ОТВЕТЫ
ElliDiHastua ElliDiHastua  04.10.2020 23:42
№1
var m,n,i,j,col:integer;
ar:array[1..100,1..100] of integer;
begin
write('строки : '); read(m);
write('столбцы : '); read(n);
for i:=1 to m do begin
write(i,': ');
for j:=1 to n do begin
read(ar[i,j])
end;
end;
for i:=1 to m do begin
for j:=1 to n do begin
if (ar[i,j]<0) then col:=col+1;
end;
writeln(i,': ',col);
col:=0;
end;
end. 

№2
var m,n,i,j,sum,col:integer;
ar:array[1..100,1..100] of integer;
begin
write('строки : '); read(m);
write('столбцы : '); read(n);
for i:=1 to m do begin
write(i,': ');
for j:=1 to n do begin
read(ar[i,j])
end;
sum:=0;
end;
for i:=1 to m do begin
for j:=1 to n do begin
if (i=j) then begin col:=col+1; sum:=sum+ar[i,j]; end;
end;
end;
writeln(sum/col);
end. 
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика