1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Program _Transition; var x,xx,y,yy,a,b,c,d: real; f, f1, f3 : text; xz:word; s:string; begin assign (f1, 'func.txt'); reset (f1); assign (f3, 'coord.txt'); reset (f3); assign (f, 'curve.txt'); rewrite (f); readln (f3, a, b, c, d ); while not EOF (f1) do begin readln (f1, x, y, s); xx:=(c*x-a*x+a+c)/2; yy:=(d*y-b*y+d+b)/2; xz:=Pos ( ' line to',s); if xz<>0 then begin Delete (s, xz, Length (' line to')); Insert (' move to', s ,xz); end; writeln(s); writeln (f, xx:6:1, yy:6:1, s); end; close(f); close(f1); close (f3); end.
Добавлено через 1 мин. Последнее. Честное слово. line to нужно поменять на move to, причём ровно один раз в первой строчке. У меня просто line to меняет на move to. Полностью и беcповоротно. Как объяснить ему, что изменять нужно только первую строчку?
попробывала как volvo в первый раз посоветывал, с массивами через ввоод str, но у меня количество строк не известно, как указать на первую не пойму....
Собственно, почему надо сначала везде наштамповать "line to", а потом - менять? Не проще там, где эти "line to" добавляются - поменять в первой строке на "move to"? Или сначала создадим себе сложности, а потом героически их преодолеем?
var a, b, h, y, x : real; n, i : integer; f1:text;
Function f( x : real) : real; begin f := x*x end;
begin write('Vvedite nachalnoe znachenie y0='); readln(a); write('Vvedite conecnoe znachenie yn='); readln(b); write('Vvedite chislo razbienij n='); readln(n); h := (b - a)/n; assign (f1, 'func.txt'); rewrite (f1); for i := 0 to n do begin x := a + i*h; y := f(x); write(f1, x:7:4, y:7:4, ' line to'); writeln(f1); end; close(f1); end.
Добавлено через 2 мин. конечно проще. Создаётся входной файл с помощью такой задачи. Но вопрос остаётся то же... line на move поменять в первой строчке.
Добавлено через 3 мин. у меня не получается героически преодолеть... массивы использовать нельзя. Запретили.
b := true; { <--- Первая строка - будем добавлять "move to" } for i := 0 to n do begin x := a + i*h; y := f(x); write(f1, x:7:4, y:7:4); if b then writeln(f1, ' move to') else writeln(f1, ' line to'); b := false; { <--- В любом случае следующая строка - НЕ первая } end; close(f1); end.