Var ar:array[1..n] of integer; ar2:array[1..n] of integer; i,k:integer;
function prost(a:integer):boolean; var i:integer; b:boolean; begin b:=true; for i:=2 to a div 2 do if a mod i=0 then begin; b:=false; break; end; if a=1 then b:=false; prost:=b; end;
begin; randomize; k:=0; for i:=1 to n do begin; ar[i]:=random(101); write(ar[i]:4); end; writeln; for i:=1 to n do if prost(ar[i]) then begin; inc(k); ar2[k]:=ar[i]; write(ar2[k]:4); end; end.
Эм, ну, обычно для такого задания дают рисунок. Исходя из рисунка строиться путь, т.к есть разные варианты дороги, нельзя к каждому написать один алгоритм.
Но он будет в роде: "влево/вправо пока закрашено" таким образом, робот будет идти в сторону, до тех пор, пока клетки будут закрашены. Также, если будет пробел (закрашено, по середине пусто, закрашено) , то нужно написать следующий алгоритм : "Если незакрашено вправо/влево" НО если там будет извилистая дорога, то потребуются еще действия. Надеюсь, вы поняли. Удачи!