Дана некоторая матрица a размером, причем все ее элементы являются двухзначными числами. из цифр каждого элемента данной матрицы составьте соответственно две матрицы b и c по следующему правилу: произвольный элемент bij матрицы b будет равняться первой цифре элемента aij матрицы a, а произвольный элемент сij матрицы c будет равняться второй цифрой элемента aij матрицы a. определите: – количество нулевых элементов в матрице c; – сумму всех элементов матрицы b и сумму всех элементов матрицы c; – какая сумма оказалась больше (выведите соответственно слова «сумма элементов матрицы b больше», «сумма элементов матрицы c больше»)?
// Внимание! Если программа не работает, обновите версию!
begin
var (m,n):=ReadInteger2('Количество строк и столбцов в матрице:');
Writeln('*** Матрица A ***');
var a:=MatrRandom(m,n,10,99); a.Println(3);
var b:=new integer[m,n];
var c:=new integer[m,n];
for var i:=0 to m-1 do
for var j:=0 to n-1 do
(b[i,j],c[i,j]):=(a[i,j] div 10,a[i,j] mod 10);
Writeln('*** Матрица B ***'); b.Println(3);
Writeln('*** Матрица C ***'); c.Println(3);
Writeln(3*n*'-');
Writeln('Количество нулевых элементов в С: ',
c.ElementsByRow.Where(t->t=0).Count);
var (sb,sc):=(b.ElementsByRow.Sum,c.ElementsByRow.Sum);
Writeln('Сумма всех элементов матрицы B: ',sb);
Writeln('Сумма всех элементов матрицы C: ',sc);
if sb>sc then Writeln('Сумма элементов матрицы B больше')
else
if sc>sb then Writeln('Сумма элементов матрицы C больше')
else Writeln('Суммы элементов матриц B и С равны')
end.