В двумерном массиве натуральных случайных чисел от 0 до 199 найти количество всех двухзначных чисел, у которых сумма цифр кратная 2.
Если число больше 9 и меньше 100, то извлекаем из него первую цифру (деля нацело на 10) и вторую (деля по модулю на 10) и складываем их. Если сумма делится нацело на 2, то увеличиваем на 1 счетчик.
const m = 10; n = 5; var arr: array[1..m, 1..n] of integer; i,j,count: byte; begin randomize; count := 0; for i:=1 to n do begin for j:=1 to m do begin arr[i,j] := random(200); write(arr[i,j]:4); if (arr[i,j] > 9) and (arr[i,j] ) then if (arr[i,j] div 10 + arr[i,j] mod 10) mod 2 = 0 then count := count + 1; end; writeln; end; writeln(count); end.
Пример выполнения программы:
139 93 79 162 40 12 43 67 170 190 90 25 95 61 69 100 141 169 111 17 81 11 87 47 69 151 47 65 146 129 111 139 55 54 185 166 57 43 122 0 143 36 21 169 103 178 81 95 186 184 9
Комментарии
перепутаны обозначения
перепутаны обозначения переменных, либо в 5 строке поменять m и n местами, либо далее i и j
Слишком уж усложнено. В самой
Слишком уж усложнено. В самой программе т.е. отборе кратных двузначных чисел. Достаточно было просто после второго "if" написать:"arr[i,j] mod 2=0 then count:=count+1;"
Вы не поняли условие задачи.
Вы не поняли условие задачи. Надо найти двухзначные числа, сумма цифр которых - четное число. Например, число 53 четным не является, а сумма его цифр равна 8, т.е. четна (кратна 2).
Не работает
Не работает