Нужна срочная помощь по информатике за 11 класс по теме Массивы В...

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

Нужна срочная помощь по информатике за 11 класс по теме Массивы В Паскале.Помогите,пожалуйста,решается оценка за четверть!!!ДАЮ 100 БАЛЛОВ!!!!!!!
1)(В паскале)Дана матрица размера М x N.В каждой ее строке найти количество отрицательных элементов и вывести результаты на экран с указанием номера строки.
2)Дан двумерный массив.Определить среднее арифметическое элементов главной диагонали массива.
Будьте добры,хотя бы одну задачу


Информатика (472 баллов) | 39 просмотров
0

да, пожалуй, вы правы по всем пунктам )

0

если всё же нужна вторая задача в "старошкольной" форме то вот

0

var m,n,i,j,sum,col:integer;ar:array[1..100,1..100] of integer;beginwrite('строки : '); read(m);write('столбцы : '); read(n);for i:=1 to m do beginwrite(i,': ');for j:=1 to n do beginread(ar[i,j])end;sum:=0;end;for i:=1 to m do beginfor j:=1 to n do beginif (i=j) then begin col:=col+1; sum:=sum+ar[i,j]; end;end;end;writeln(sum/col);end.

0

Спасибо огромное

0

рады помочь

0

последую совету, спасибо

Дано ответов: 2
0 голосов
Правильный ответ

№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;<br>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. 

(8.6k баллов)
0 голосов
// 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));<br>  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
(150k баллов)