// PascalABC.NET 3.3, сборка 1611 от 06.01.2018 // Внимание! Если программа не работает, обновите версию! begin var (n, m):= ReadlnInteger2('n, m ->');Writeln('Сгенерированная матрица:'); var a:= MatrRandom(n,m);a.Println; var sumEven:= 0; var sumOdd := 0;dec(n);dec(m); for var i:= 0 to n do if (i+1).isEven then sumEven:= sumEven + a.Row(i).sum else sumOdd := sumOdd + a.Row(i).sum; Writeln('Cумма на четных строках -> ', sumEven); Writeln('Cумма на нечетных строках -> ',sumOdd); end.
Пример: n, m -> 4 5 Сгенерированная матрица: 62 61 7 15 76 74 84 43 80 4 37 9 40 86 34 45 70 87 30 51 Cумма на четных строках -> 568 Cумма на нечетных строках -> 427
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var (n,m):=ReadInteger2('Количество строк и столбцов в матрице:'); Writeln('*** Исходная матрица ***'); var a:=MatrRandom(n,m,-10,99); a.Println(4); Writeln(4*a.ColCount*'-'); var L:=new List<integer>; // для номеров подходящих строк for var i:=0 to n-1 do if a.Row(i).Any(t->t<=0) then L.Add(i); n:=L.Count; if n=0 then begin Writeln('Все строки содержат только положительные элементы'); exit end; var b:=new integer[n,m]; for var i:=0 to n-1 do b.SetRow(i,a.Row(L[i])); Writeln('*** Результирующая матрица ***'); b.Println(4) end.
// Внимание! Если программа не работает, обновите версию!
begin
var (n, m):= ReadlnInteger2('n, m ->');Writeln('Сгенерированная матрица:');
var a:= MatrRandom(n,m);a.Println;
var sumEven:= 0;
var sumOdd := 0;dec(n);dec(m);
for var i:= 0 to n do
if (i+1).isEven then
sumEven:= sumEven + a.Row(i).sum
else
sumOdd := sumOdd + a.Row(i).sum;
Writeln('Cумма на четных строках -> ', sumEven);
Writeln('Cумма на нечетных строках -> ',sumOdd);
end.
Пример:
n, m -> 4 5
Сгенерированная матрица:
62 61 7 15 76
74 84 43 80 4
37 9 40 86 34
45 70 87 30 51
Cумма на четных строках -> 568
Cумма на нечетных строках -> 427
// Внимание! Если программа не работает, обновите версию!
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в матрице:');
Writeln('*** Исходная матрица ***');
var a:=MatrRandom(n,m,-10,99);
a.Println(4); Writeln(4*a.ColCount*'-');
var L:=new List<integer>; // для номеров подходящих строк
for var i:=0 to n-1 do
if a.Row(i).Any(t->t<=0) then L.Add(i);
n:=L.Count;
if n=0 then begin
Writeln('Все строки содержат только положительные элементы');
exit
end;
var b:=new integer[n,m];
for var i:=0 to n-1 do
b.SetRow(i,a.Row(L[i]));
Writeln('*** Результирующая матрица ***');
b.Println(4)
end.
Пример
Количество строк и столбцов в матрице: 5 4
*** Исходная матрица ***
12 -9 64 34
53 64 49 74
33 27 -6 72
91 14 23 16
15 64 9 77
----------------
*** Результирующая матрица ***
12 -9 64 34
33 27 -6 72