Program aaa;
var A: array[1..100,1..100] of integer; n,k,r,c,x: integer; i,j: byte;
begin
randomize;
writeln ('Введите N, K, R, C');
readln (n,k,c,r);
x:=0;
for i:=1 to n do begin
for j:=1 to n do begin
writeln ('Введите ',j,'-е число ',i,'-ой строки');
readln (A[i,j]);
//или можно ввести рандомно: A[i,j]:=random(0,1);
if ((i>(r-k)) and (i<=r) and (j>(c-k)) and (j<=c) and (A[i,j]=1))
then x:=x+1
end
end;
writeln;
// в следующем цикле выводится весь массив для наглядности
// его можно просто убрать если не нужен
for i:=1 to n do begin
for j:=1 to n do begin
write (A[i,j]:3);
end;
writeln
end;
writeln;
writeln (x)
end.
Ответ
2F516₁₆<span> = </span>193<span>814</span>₁₀
2^i=16
16=2^4
i=4
если не ошибаюсь то будет так
<em>// PascalABC.NET 3.3, сборка 1579 от 18.11.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(17,42,65); a.Println;
var k:=a.Where(t->t=50).Count; // кол-во элементов =50 - задание 2
Writeln('Кол-во элементов, равных 50: ',k);
a.Transform(t->t=50?0:t); a.Println // замена и вывод - задание 1
end.
<u>Пример</u>
65 45 55 47 50 44 45 43 50 51 44 43 56 45 65 51 65
Кол-во элементов, равных 50: 2
65 45 55 47 0 44 45 43 0 51 44 43 56 45 65 51 65
101011110
из двоичной в десятичную: 350
536
из восьмеричной в десятичную: 350
15Е
из шестнадцатеричной в десятичную: 350