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, другой файл ты не привела, поэтому судить о том, почему ТАМ что-то не работает - не могу...)
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, как видишь...