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

Разработайте универсальную подпрограмму, определяющую сумму элементов в тех строках матрицы размером n×m элементов, которые не содержат отрицательных элементов. Поместите подпрограмму в модуль. Разработайте тестирующую программу. Паскаль.
Гость
Ответ(ы) на вопрос:
Гость
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 Как видно, программа действительно универсальная: она позволяет работать с матрицами разных размеров и даже разного типа данных.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы