Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Файлы

Автор: Ania 29.11.2007 14:57


var
x, xs, y, ys, o1, o2, e1, e2: real;
f2, f1 : text;
s, s1, s3: string;


begin
assign (f1, 'f.txt');
reset (f1);
assign (f2, 'coordinat.txt');
reset (f2);
readln (f2, s, s1,o1, o2, s3, e1, e2);
while not EOF (f1) do
begin
readln (f1, x, y);
xs:=o1+x*e1;
ys:=o2+y*e2;
-----------
end;
close(f1);
close (f2);
end.



Добавлено через 2 мин.
Ошибка. Помогите пожалуйста.
Во входном файле по порядку: 2 строки (s,s1) 2 числа, строка (s3), 2 числа. Это всё нужно прочитать, а потом использовать числа в задаче… У меня читает только первую строчку и числа, а если строк больше, то выводится ошибка. Как сделать чтобы прочитал по порядку и всё без ошибок? Может использовать другой тип переменных, не string?


Прикрепленные файлы
Прикрепленный файл  coordinat.txt ( 103 байт ) Кол-во скачиваний: 227

Автор: volvo 29.11.2007 16:01

Цитата
Как сделать чтобы прочитал по порядку и всё без ошибок?
Читать нужно не списком, а по одной переменной (я про чтение из файла coordinat.txt, другой файл ты не привела, поэтому судить о том, почему ТАМ что-то не работает - не могу...)

  assign (f2, 'coordinat.txt');
reset (f2);
readln (f2, s); readln(f2, s1);
readln(f2, o1, o2);
readln(f2, s3);
readln(f2, e1, e2);
{ и так далее ... }

Дело все в том, что при попытке сделать так, как было раньше, Readln будет пытаться перевести строку только после того, как прочтет все переменные, присутствующие в параметрах, а не будет после каждой переменной делать перевод строки...

Это важно при чтении строк... Чтение переменных других типов можно объединять - я так и сделал для Real, как видишь...

Автор: Ania 29.11.2007 16:19

Большое спасибо. Всё заработало. give_rose.gif