в двумерном массиве (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.
n=8; m=8;
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);
end.
// Внимание! Если программа не работает, обновите версию!
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.
Пример
Количество строк и столбцов в массиве: 4 7
*** Исходный массив [4,7] ***
65 112 78 133 52 108 39
73 162 64 31 55 156 107
14 105 88 55 16 146 143
19 97 33 138 16 37 198
Искомые числа: 39 73 64 31 55 88 55 19 97 33 37
Количество чисел равно 11