Var a: array[1..20,1..20] of integer; n,m,i,j,min,jm,x: integer; begin randomize; write('Введите размеры массива: '); readln(n,m); writeln('Исходный массив:'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(19)-9; write(a[i,j]:4); end; writeln; end; min:=0; for i:=1 to n do min:=min+a[i,1]; writeln('Сумма элементов 1-го столбца = ',min); jm:=1; for j:=2 to m do begin x:=0; for i:=1 to n do x:=x+a[i,j]; writeln('Сумма элементов ',j,'-го столбца = ',x); if x<min then begin min:=x; jm:=j; end; end; writeln('Минимальная сумма в ',jm,'-м столбце'); writeln('Полученный массив:'); for i:=1 to n do begin for j:=1 to m do begin if j<>jm then a[i,j]:=a[i,jm]; write(a[i,j]:4); end; writeln; end; readln; end.
s:=0; х:=1385
while x > 0 do begin
1) s:= s + x mod 2 = 1 ;
x:= x div 10 = 138;
2) s:= s + x mod 2 = 1 ;
x:= x div 10 = 13;
3) s:= s + x mod 2 = 2 ;
x:= x div 10 = 1;
4) s:= s + x mod 2 = 3 ;
x:= x div 10 = 0;
write(s); // s = 3
write(x); //х = 0
end
Объяснение:
x mod 2 - остаток после деления х на 2
x div 10 - целое число, которое осталось после деления х на 10
s:=0; х:=1385 - изначальные данные
while x > 0 do begin - "продолжать пока х > 0"
//комментарий на строке
write() - вывод переменной в скобке
s:=0; х:=1385
while x > 0 do begin
1) s:= s + x mod 2 = 0 + 1 = 1 ;
x:= x div 10 = 1385:10 = 138 (ост. 5 не пишется);
2) s:= s + x mod 2 = 1 + 0 = 1 ;
x:= x div 10 = 138:10 = 13 (ост. 8 не пишется);
3) s:= s + x mod 2 = 1 + 1 = 2 ;
x:= x div 10 = 13:10 = 1 (ост. 3 не пишется);
4) s:= s + x mod 2 = 2 + 1 = 3 ;
x:= x div 10 = 1:10 = 0 (ост. 1 не пишется);
end