Const nx=30; mx=30; var r:array[1..nx,1..mx] of integer;b:array[1..mx] of integer; i,j,n,m,k,sum,min:integer; begin min:=40; randomize; write('Введите n,m: ');readln(n,m); writeln('Исходная матрица: '); for j:=1 to m do begin for i:=1 to n do begin r[i,j]:=random(20)-10; sum:= sum + r[i,j];end; b[j]:=sum;sum:=0; end; for i:=1 to n do begin for j:=1 to m do begin write(r[i,j]:4);end; writeln;end; writeln; for j:=1 to m do begin write(b[j]:4); if min > b[j] then begin min:= b[j]; k:= j;end; end; writeln;writeln; for i:=1 to n do begin for j:=1 to m do begin if j=k then write(r[i,j]:4);end; writeln;end; end.
Давайте по строчкам пойдем.
Program 1; - имя программы не может начинаться/являться числом
var - всё норм
n,m,p : real; не понимаю, зачем эти переменные объявлять как real, когда можно сделать их int'ами + не хватает переменной i
begin - всё норм
Так как у нас произведение, нам нужно переменной p присвоить единицу.
read(n,m) - не хватает точки с запятой, и я бы писал сначала число, а потом степень в которую надо возвести, а не наоборот.
for i := 0 to n do, если уж мы идём с нуля, тогда цикл должен кончится в n-1 (можно начать с 1, закончить n)
p := m * p; - всё норм
write(p) - не хватает точки с запятой
end - не хватает точки
Рабочий код:
Program pow1;
var
n, m , p,i : integer;
begin
p:= 1;
read(m,n);
for i :=0 to n-1 do
p:=m*p;
write(p);
end.