В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
ushelemet
ushelemet
30.08.2021 00:55 •  Информатика

31. Бывает после дождя по информатике​

Показать ответ
Ответ:
dimakovelko
dimakovelko
15.06.2022 14:31
1. Помещаем нижеследующий текст в файл UniSum.pas, который должен находиться в директории PABCWork.Net

// PascalABC.NET 3.0, сборка 1128
unit UniSum;

interface

Function UniSumMatrix(a:array[,] of integer):integer;
Function UniSumMatrix(a:array[,] of real):real; overload;

implementation

Function UniSumMatrix(a:array[,] of integer):integer;
begin
  Result:=0;
  for var i:=0 to Length(a,0)-1 do
    for var j:=0 to Length(a,1)-1 do
      if a[i,j]>0 then Result+=a[i,j]
end;

Function UniSumMatrix(a:array[,] of real):real; overload;
begin
  Result:=0;
  for var i:=0 to Length(a,0)-1 do
    for var j:=0 to Length(a,1)-1 do
      if a[i,j]>0 then Result+=a[i,j]
end;

end.

2. Создаем новый файл и помещаем в него тестовую программу

// PascalABC.NET 3.0, сборка 1128
uses
  UniSum;

begin
  var m:=ReadInteger('Число строк в матрице:');
  var n:=ReadInteger('Число столбцов в матрице:');
  var R:=MatrixRandom(m,n,-10,20);
  Writeln('Сгенерированная матрица');
  for var i:=0 to m-1 do begin
    for var j:=0 to n-1 do Write(R[i,j]:4);
    Writeln
    end;
  Writeln('Сумма положительных элементов: ',UniSumMatrix(R));
  m:=ReadInteger('Число строк в матрице:');
  n:=ReadInteger('Число столбцов в матрице:');
  var S:=MatrixRandomReal(m,n,-15,32);
  Writeln('Сгенерированная матрица');
  for var i:=0 to m-1 do begin
    for var j:=0 to n-1 do Write(S[i,j]:7:2);
    Writeln
    end;
  Writeln('Сумма положительных элементов: ',UniSumMatrix(S):0:2)
end.

Тестовое решение:
Число строк в матрице: 4
Число столбцов в матрице: 3
Сгенерированная матрица
 -10  15  17
  -8  -8   7
   2  -9   0
  -1   5  17
Сумма положительных элементов: 63
Число строк в матрице: 5
Число столбцов в матрице: 6
Сгенерированная матрица
   0.74  -7.30  15.97   5.01   1.55  12.02
  -3.98  -9.21   3.35  -7.95 -14.10  31.21
  13.75  -5.82  -5.34  13.33  14.61  15.76
  -5.30  14.65   2.60  20.26  27.30  10.81
  11.60  27.43   5.61 -10.29 -10.48  26.61
Сумма положительных элементов: 274.18

Как видно, программа действительно универсальная: она позволяет работать с матрицами разных размеров и даже разного типа данных.
0,0(0 оценок)
Ответ:
gaytad1
gaytad1
16.11.2021 01:35
// PascalABC.NET 3.0, сборка 1128
begin
  var m:=ReadInteger('Число строк:');
  var n:=ReadInteger('Число колонок');
  var a:=MatrixRandom(m,n,-10,20);
  Writeln('Сгенерированный массив');
  for var i:=0 to m-1 do begin
    for var j:=0 to n-1 do Write(a[i,j]:4);
    Writeln
    end;
  Writeln('Найденные суммы');
  for var i:=0 to m-1 do begin
    var avg:=0.0;
    for var j:=0 to n-1 do avg+=a[i,j];
    avg/=n;
    var s:=0;
    for var j:=0 to n-1 do
      if a[i,j]>avg then s+=a[i,j];
    Write(s,' ')
    end;
  Writeln
end.

Тестовое решение:
Число строк: 5
Число колонок 7
Сгенерированный массив
  19  14  -6  -8   2  -3  11
   2  -8  -9  18   6  -6  -9
  -5  -1   2  -6  -6  15  -4
  13  19   2   6 -10   5  15
  13   1   0  -2  -8  20  18
Найденные суммы
44 26 17 47 51
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота