в двумерном массиве (nxm) натуральных случайных чисел от 0 до 199. найти и вывести на экран все двухзначные числа, у которых сумма цифр кратная 2, найти количество таких чисел

Jannalizahappy Jannalizahappy    2   03.09.2019 06:30    9

Ответы
Ник111111н Ник111111н  06.10.2020 14:06
const
  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.
в двумерном массиве (nxm) натуральных случайных чисел от 0 до 199. найти и вывести на экран все дв
ПОКАЗАТЬ ОТВЕТЫ
ffghh1gfdd ffghh1gfdd  06.10.2020 14:06
// 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.

Пример
Количество строк и столбцов в массиве: 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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика