* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Эх... сумасшествие это - делать на С++ такие задачи. В качестве обидного бонуса - как выглядит полный аналог программы, но на современном паскале. Можете сравнить размер программы. Смешно, не правда ли?
// PascalABC.NET 3.2, сборка 1370 от 24.12.2016 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Строк:'); var m:=ReadInteger('Столбцов:'); var a:=MatrRandom(n,m,2,5); a.Println(2); Writeln(NewLine,'Суммы по строкам'); a.Rows.Select(x->x.Sum).Println; end.
// PascalABC.NET 3.2, сборка 1370 от 24.12.2016 // Внимание! Если программа не работает, обновите версию!
begin var m:=ReadInteger('Количество строк в массиве:'); var n:=ReadInteger('Количество столбцов в массиве:'); var k:=ReadInteger('Номер строки с произведением:'); Writeln('*** Исходный массив [',m,',',n,'] ***'); var a:=MatrRandom(m,n,-50,50); a.Println(4); Writeln(4*a.ColCount*'-'); Writeln('П(',k,')=',a.Row(k).Aggregate(BigInteger(1),(x,y)->x*y)) end.
for (int i=0; i<n; i++)
delete []a[i];
system("pause");
return 0;
}
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Эх... сумасшествие это - делать на С++ такие задачи.
В качестве обидного бонуса - как выглядит полный аналог программы, но на современном паскале. Можете сравнить размер программы. Смешно, не правда ли?
// PascalABC.NET 3.2, сборка 1370 от 24.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Строк:');
var m:=ReadInteger('Столбцов:');
var a:=MatrRandom(n,m,2,5); a.Println(2);
Writeln(NewLine,'Суммы по строкам');
a.Rows.Select(x->x.Sum).Println;
end.
// Внимание! Если программа не работает, обновите версию!
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
var k:=ReadInteger('Номер строки с произведением:');
Writeln('*** Исходный массив [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('П(',k,')=',a.Row(k).Aggregate(BigInteger(1),(x,y)->x*y))
end.
Пример
Количество строк в массиве: 7
Количество столбцов в массиве: 12
Номер строки с произведением: 5
*** Исходный массив [7,12] ***
-12 -2 34 -15 -3 -21 -43 -21 -15 -36 -44 30
-6 -4 8 -28 40 46 1 44 -34 23 47 5
-12 -22 10 -10 -2 -44 46 -38 -5 41 -45 26
-2 -47 26 46 -6 -36 1 14 -21 29 9 21
-1 15 20 -37 20 24 -10 15 1 -22 48 -31
19 17 32 -22 -32 44 -15 3 -10 32 25 36
-30 6 0 -48 -29 -17 -24 9 19 39 41 33
П(5)=4149376450560000