Uses crt; Var mas:array[1..10, 1..10] of integer; i,k,minln,pr:integer; Begin minln:=0; for i:=1 to 10 do for k:=1 to 10 do mas[i,k]:=random(10)+1; for i:=1 to 10 do begin if minln>0 then break; pr:=0; for k:=1 to 10 do begin if (mas[i,k] mod 2 = 0) then pr:=pr+1; if (pr = 10) then minln:=i; end; end; Writeln('Минимальный номер строки с чётными числами - ',minln); Writeln('Вот она'); for k:=1 to 10 do write (mas[minln,k],' ');
Берем третьи байты и переводим в двоичную систему счисления:добавим в начале нулей, чтобы получилось 8 цифр. ← ← найдем маску. запишем с столбик. если элементы одинаковые, ставим соответствующее число, если элементы разные, ставим крестик: 00000101 00011101 000xx101 ← маска т.к. по правилу в маске, сначала идут единицы, переместим их в начало: 11xx0000 если бы по условию, надо было бы найти наименьшее возможное значение, то мы бы заменяли крестики(х) на нули. т.к. по условию необходимо наибольшее возможное значение, подставляем вместо крестиков(x), единицу и переведем в десятичную систему счисления:
Var
mas:array[1..10, 1..10] of integer;
i,k,minln,pr:integer;
Begin
minln:=0;
for i:=1 to 10 do
for k:=1 to 10 do
mas[i,k]:=random(10)+1;
for i:=1 to 10 do begin if minln>0 then break; pr:=0;
for k:=1 to 10 do begin if (mas[i,k] mod 2 = 0) then pr:=pr+1;
if (pr = 10) then minln:=i;
end; end;
Writeln('Минимальный номер строки с чётными числами - ',minln);
Writeln('Вот она');
for k:=1 to 10 do write (mas[minln,k],' ');
End.