Const m=10; n=6; var a:array[1..m,1..n] of integer; i,j,maxr:integer; p,maxp:longint; begin Randomize; Writeln('Исходный массив'); maxp:=0; for i:=1 to m do begin p:=1; for j:=1 to n do begin a[i,j]:=Random(99)+1; { интервал [1..99] } Write(a[i,j]:3); p:=p*a[i,j] end; if maxp<p then begin maxp:=p; maxr:=i end; Writeln end; for i:=1 to m do for j:=1 to n do a[i,j]:=a[maxr,j]; Writeln('Сформированный массив'); for i:=1 to m do begin for j:=1 to n do Write(a[i,j]:3); Writeln end end.
1+1=10 (ноль пишем, 1 - переходит в старший разряд) Вообще все можно представить так - 1-самая старшая цифра в двоичной с.с. (В десятичной - это 9. При прибавлении в десятичной с.с. к 9 мы получаем 10, так происходит во всех с.с. Только в двоичной самая старшая 1 и, при прибавлении к ней 1 мы получаем также 10) 101011 +101010 1010101 Аналогично при вычитании. Представим число в десятичной с.с, например,1000. Если из него нужно вычесть 1, то мы заберем нужный нам разряд у 1. Тогда последний 0 превратится в 10, а все остальные 0 в 1. 11101 - 1111 1110 Ну, а умножение - это тот же процесс сложения. 10110 1111 10110 + 10110 10110 10110 101001010
var i,s,a:integer;
begin
s:=0;
for i:=101 to 999 do
begin
a:=i mod 10;
if (i mod 3 = 0)and(a=8) then s:=s+i;
end;
writeln('s = ',s);
end.
Объяснение: