в двумерном массиве (nxm) натуральных случайных чисел от 0 до 199. найти и вывести на экран все двухзначные числа, у которых сумма цифр кратная 2, найти количество таких чисел
var mas: array[1..n,1..m] of integer; i,j: integer; qty: integer; a,b: integer;
begin
randomize;
{Заполнение массива числами} for i:=1 to n do begin for j:=1 to m do begin mas[i,j]:=random(200); if mas[i,j]=200 then mas[i,j]:=199; write(mas[i,j],' '); end; writeln; end;
writeln('******************');
{Поиск двузначных чисел, сумма цифр которых кратна 2} qty:=0; for i:=1 to n do for j:=1 to m do if (mas[i,j]<100) and (mas[i,j]>9) then begin a:=mas[i,j] div 10; b:=mas[i,j]-a*10; if (a+b) mod 2=0 then begin Inc(qty); write(mas[i,j],' '); end; end;
writeln(''); writeln('количество чисел удовлетворяющих условию ',qty);
// PascalABC.NET 3.2, сборка 1488 от 21.06.2017 // Внимание! Если программа не работает, обновите версию!
begin var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,0,199); a.Println(4); Writeln(4*a.ColCount*'-'); Write('Искомые числа: '); var s:=a.Rows.SelectMany(x->x).Where(x->x.Between(10,99)) .Where(x->(x div 10+x mod 10).IsEven); s.Println; Writeln('Количество чисел равно ',s.Count) end.