Нельзя преобразовать тип integer к char. Как это исправить? Var F, L, R, S : char; a, b :...

0 голосов
134 просмотров

Нельзя преобразовать тип integer к char. Как это исправить?


Var
F, L, R, S : char;
a, b : integer;
begin
a :=0;
b :=0;
F :=1;
L :=0;
R :=0;
S :=0;
Assign(input,'input.txt');
Reset(input);
Assign(output,'output.txt');
Rewrite(output);
Read(F,L,R,S);
if F then
begin
a :=a+F
end;
if L then
begin
b :=b+L
end;
if R then
begin
b :=b-R
end;
if S then
begin
a :=a+S;
b :=b+S
end;
write(a,b);
End.


Информатика (20 баллов) | 134 просмотров
0

а что нужно сделать вообще?

0

Ваша задача - по заданной программе для робота вычислить координаты точки, в которой робот остановится. Ось X направлена на восток, а ось Y - на север. Программа обязательно содержит команду "S".Формат входных данныхВо входном файле записана последовательность символов "F", "L", "R", "S".

0

Количество символов не превосходит 10^6. Символы не разделены пробелами.Формат выходных данныхВ выходной файл следует записать координаты точки, в которой остановится робот.Примеры входных и выходных данных

0

Короче говоря - каша какая-то, а не программа.

0

есть пример входных/выходных данных?

0

да

0

Примеры входных и выходных данныхinput.txtRRLSoutput.txt0 0input.txtFFFSoutput.txt3 0input.txtLFFSoutput.txt0 2

0

напиши пожалуйста

0

не сказано, откуда робот начинает движение?

0

из координаты (0;0)

Дан 1 ответ
0 голосов
Правильный ответ

//Не смотрел Ваш код, просто моё видение решения задачи
//PascalABC.NET 3.2 сборка 1318

Var
  t:text;
  x,y,i,j:integer;
  s:string;
  c:char;
  world:array[1..4] of char=('E','S','W','N');
begin
j:=1;
c:='E';
assign(t,'input.txt');
reset(t);
read(t,s);
close(t);
i:=1;
while s[i]<>'S' do
 begin
  if s[i]='R' then
    begin
      if c='N' then j:=1 else inc(j);
      c:=world[j];
    end;
  if s[i]='L' then
    begin
      if c='E' then j:=4 else dec(j);
      c:=world[j];
    end;
  if s[i]='F' then
    case c of
      'E':inc(x);
      'S':dec(y);
      'W':dec(x);
      'N':inc(y);
    end;
  inc(i);
  end;
assign(t,'output.txt');
rewrite(t);
write(t,x,' ',y);
close(t);
end.

Пример содержимого input.txt:
FLFS
Пример содержимого output.txt:
1 1

(38.6k баллов)
0

Касаемо Вашего кода - такое точно не будет работать верно. Полная бессмыслица.