• Разработайте универсальную подпрограмму, определяющую сумму элементов в тех строках матрицы размером n×m элементов, которые не содержат отрицательных элементов. Поместите подпрограмму в модуль. Разработайте тестирующую программу.
    Паскаль.

Ответы 1

  • 1. Помещаем нижеследующий текст в файл UniSum.pas, который должен находиться в директории PABCWork.Net// PascalABC.NET 3.0, сборка 1128unit UniSum;interfaceFunction UniSumMatrix(a:array[,] of integer):integer;Function UniSumMatrix(a:array[,] of real):real; overload;implementationFunction 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, сборка 1128uses  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Как видно, программа действительно универсальная: она позволяет работать с матрицами разных размеров и даже разного типа данных.
    • Автор:

      matthews
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years