IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Массив в файле.
volvo
сообщение 23.10.2007 12:01
Сообщение #21


Гость






Цитата
остальные 3 куда-то исчезают.

Ну, допустим исчезают у тебя не 3, а 2 - это как максимум: файл F1 содержит 3 строки, на выходе - одна. Внимание, вопрос: сколько не хватает?

А не хватает - потому, что из F3 надо переменные A, B, C и D читать один раз (еще до захода в цикл по всему F1), а не внутри этого цикла...

Да и WriteLn(f) неплохо было бы поставить, вместо Write(f)... А то опять все будет в одну строку...
 К началу страницы 
+ Ответить 
Sozialist
сообщение 23.10.2007 12:13
Сообщение #22


Клавиатурный тиран
**

Группа: Пользователи
Сообщений: 79
Пол: Мужской
Реальное имя: Дмитрий

Репутация: -  -2  +


 Program  _Transition;
var
x,xx,y,yy,a,b,c,d: real;
f, f1, f3 : text;
begin
assign (f1, 'f1.txt');
reset (f1);
assign (f3, 'f3.txt');
reset (f3);
assign (f, 'f.txt');
rewrite (f);
readln(f3,a,b,c,d);
while not EOF (f1) do
begin
readln (f1, x, y);
xx:=(c*x-a*x+a+c)/2;
yy:=(d*y-b*y+d+b)/2;
writeln (f,xx:3:0, yy:3:0);
end;

close(f);
close(f1);
close (f3);
end.


Хехе, собственно, получилось то же, что сказал /volvo/

Сообщение отредактировано: Sozialist - 23.10.2007 12:15
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Яна3773
сообщение 23.10.2007 12:18
Сообщение #23


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +


2 конечно... пропадали.
до меня дошло, получилось. Всем спасибо smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Яна3773
сообщение 23.10.2007 14:55
Сообщение #24


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +



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 мин.
Последнее. Честное слово. smile.gif
line to нужно поменять на move to, причём ровно один раз в первой строчке.
У меня просто line to меняет на move to. Полностью и беcповоротно. Как объяснить ему, что изменять нужно только первую строчку?


Прикрепленные файлы
Прикрепленный файл  coord.txt ( 21 байт ) Кол-во скачиваний: 137
Прикрепленный файл  FUNC.TXT ( 2.37 килобайт ) Кол-во скачиваний: 124
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Яна3773
сообщение 23.10.2007 16:38
Сообщение #25


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +


попробывала как volvo в первый раз посоветывал, с массивами через ввоод str, но у меня количество строк не известно, как указать на первую не пойму.... mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.10.2007 16:54
Сообщение #26


Гость






Собственно, почему надо сначала везде наштамповать "line to", а потом - менять? Не проще там, где эти "line to" добавляются - поменять в первой строке на "move to"? Или сначала создадим себе сложности, а потом героически их преодолеем?
 К началу страницы 
+ Ответить 
Яна3773
сообщение 23.10.2007 17:02
Сообщение #27


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +



Program Func;

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 мин.
у меня не получается героически преодолеть...
массивы использовать нельзя. Запретили.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.10.2007 17:40
Сообщение #28


Гость






Я уже в этой теме где-то показывал использование Boolean, или тебе и это запретили?

Program Func;

var
a, b, h, y, x : real;
n, i : integer;
f1:text;
b: boolean; { <--- !!! }

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);

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.
 К началу страницы 
+ Ответить 
Яна3773
сообщение 23.10.2007 17:46
Сообщение #29


Новичок
*

Группа: Пользователи
Сообщений: 17
Пол: Женский

Репутация: -  0  +


нет, не запретили. Даже очень разрешили. Ещё немного и я бы чёкнулась.
спасиб. give_rose.gif give_rose.gif give_rose.gif give_rose.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 6:54
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"