На пишите для робота алгоритм, Закрашивающий клетки, в непосредственной близости горизонтальных стен. Клетки, образующие внутренние углы фигуры должны оказаться не закрашенными. робот должен закрасить только клетки, удовлетворяющие данному условию. например для проведенного выше рисунка, робот должен закрасить следующие клетки.
Const n=20; type omas=array[1..n] of integer; Procedure Del (var z:omas; k:byte); var i:byte; begin for i:=k to n-1 do z[i]:=z[i+1]; z[n]:=0; end; var a:omas; i,b:integer; begin Randomize; for i:=1 to n do begin a[i]:=random(20); write(a[i]:4); end; writeln; b:=6; i:=1; while (i<=n)and(a[i]<>b) do i:=i+1; if i<=n then begin Del(a,i); writeln('Размерность массива = ',n-1); for i:=1 to n-1 do write(a[i]:4); writeln; end else writeln('Массив не изменился'); end. Пример: 12 13 6 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18 Размерность массива = 19 12 13 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18
Uses Crt; Const N = 100; Var A:array[1..N] of real; i,k:integer; S:real; Begin ClrScr; k:=0; Write('Исходный массив:'); For i:= 1 to N do Begin A[i]:=Sin(i)*Cos(i); Write(' ',A[i]:0:3); if A[i] <> 0 then Begin k:=k+1; S:=S+A[i] End; End; WriteLn; WriteLn('Sr = ',S/k); ReadLn End.
type omas=array[1..n] of integer;
Procedure Del (var z:omas; k:byte);
var i:byte;
begin
for i:=k to n-1 do z[i]:=z[i+1];
z[n]:=0;
end;
var a:omas; i,b:integer;
begin
Randomize;
for i:=1 to n do
begin
a[i]:=random(20);
write(a[i]:4);
end;
writeln;
b:=6;
i:=1;
while (i<=n)and(a[i]<>b) do i:=i+1;
if i<=n then
begin
Del(a,i);
writeln('Размерность массива = ',n-1);
for i:=1 to n-1 do write(a[i]:4);
writeln;
end else writeln('Массив не изменился');
end.
Пример:
12 13 6 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18
Размерность массива = 19
12 13 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18