Блог пользователя Samusevich

Автор Samusevich, 13 лет назад, По-русски

Проблема с задачей(158С Команды cd и pwd) Решение(FPC):

Program c158;
var
cmd,ans:string;
i,j,n,m:integer;
begin
n:=0;
ans:='';
cmd:='';
read(n);
for i:=1 to n+1 do
 begin
  readln(cmd);
  if cmd[1]='p' then writeln(ans,'/');
  if cmd[1]='c' then begin
                      if cmd[4]='/' then ans:=copy(cmd,4,length(cmd)-3);
                      if (cmd[4]<>'.') and (cmd[4]<>'/') then ans:=ans+'/'+copy(cmd,4,length(cmd)-3);
                      if cmd[4]='.' then ans:=ans+'/'+copy(cmd,4,length(cmd)-3);
                     end;
  While pos('.',ans)<>0 do
   begin
    j:=pos('.',ans)+1;
    m:=0;
    While m<2 do
     begin
      if ans[j]='/' then begin inc(m); delete(ans,j,1); dec(j); end
                    else begin delete(ans,j,1); dec(j); end;
     end;
    m:=0;
   end;
  j:=0;
 end;
end.

При проверке решения вердикт выглядит так: Ошибка времени исполнения на тесте 1. В протоколе тестирования: Runtime error 216 at $004014D9. Код ошибки значит: Ошибка доступа к памяти. При запуске на моем компьютере все работает. Помогите, не могу понять где ошибка. Как избежать подобной ошибки?

Полный текст и комментарии »

  • Проголосовать: нравится
  • 0
  • Проголосовать: не нравится