Где-то в поле Робота находится прямоугольник неизвестного размера, в верхней стенке которого имеется отверстие шириной в одну клетку. Робот из верхнего левого угла поля должен дойти до прямоугольника и закрасить клетки внутри него по периметру, как показано на рисунке . Ещё учтите, что там три клетки сниз, а не четыре
Var a: array[1..100] of integer; i,n,bg,nd,s: integer; begin write('n = '); readln(n); randomize; bg:=0; nd:=0; for i:=1 to n do begin a[i]:=random(10); write(a[i],' '); if a[i]=0 then if (bg>0) and (nd=0) then nd:=i else if bg=0 then bg:=i; end; writeln; if bg+nd>1 then begin if (bg mod 2=0) then inc(bg) else bg:=bg+2; if (nd mod 2=0) then dec(nd) else nd:=nd-2; writeln('начало: ',bg,' конец: ',nd); s:=1; repeat s:=s*a[bg]; bg:=bg+2; until bg>nd; writeln('произведение: ',s); end else writeln(0); end.
var a: array[1..3,1..4] of integer; i,j,s: integer; begin for i:=1 to 3 do begin write('строка ',i,': '); for j:=1 to 4 do read(a[i,j]); end; // вывод массива на экран writeln('массив а по строкам:'); for i:=1 to 3 do begin for j:=1 to 4 do write(a[i,j]:4); writeln; end; // суммы элементов по строкам for i:=1 to 3 do begin s:=0; for j:=1 to 4 do s:=s+a[i,j]; writeln('сумма элементов строки ',i,': ',s); end; end.
ввод - вывод
строка 1: 10 11 12 13 строка 2: 14 15 16 17 строка 3: 18 19 20 21 массив а по строкам: 10 11 12 13 14 15 16 17 18 19 20 21 сумма элементов строки 1: 46 сумма элементов строки 2: 62 сумма элементов строки 3: 78
i,n,bg,nd,s: integer;
begin
write('n = '); readln(n);
randomize;
bg:=0; nd:=0;
for i:=1 to n do
begin
a[i]:=random(10);
write(a[i],' ');
if a[i]=0 then
if (bg>0) and (nd=0) then nd:=i
else if bg=0 then bg:=i;
end;
writeln;
if bg+nd>1 then
begin
if (bg mod 2=0) then inc(bg)
else bg:=bg+2;
if (nd mod 2=0) then dec(nd)
else nd:=nd-2;
writeln('начало: ',bg,' конец: ',nd);
s:=1;
repeat
s:=s*a[bg];
bg:=bg+2;
until bg>nd;
writeln('произведение: ',s);
end
else writeln(0);
end.
n = 15
4 4 7 0 3 5 6 1 1 8 8 4 0 1 9
начало: 5 конец: 11
произведение: 144
i,j,s: integer;
begin
for i:=1 to 3 do
begin
write('строка ',i,': ');
for j:=1 to 4 do read(a[i,j]);
end;
// вывод массива на экран
writeln('массив а по строкам:');
for i:=1 to 3 do
begin
for j:=1 to 4 do write(a[i,j]:4);
writeln;
end;
// суммы элементов по строкам
for i:=1 to 3 do
begin
s:=0;
for j:=1 to 4 do s:=s+a[i,j];
writeln('сумма элементов строки ',i,': ',s);
end;
end.
ввод - вывод
строка 1: 10 11 12 13
строка 2: 14 15 16 17
строка 3: 18 19 20 21
массив а по строкам:
10 11 12 13
14 15 16 17
18 19 20 21
сумма элементов строки 1: 46
сумма элементов строки 2: 62
сумма элементов строки 3: 78