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

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

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

> Задача с текстовыми файлами
сообщение
Сообщение #1


snoWolf
**

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

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


В текстовом файле t1 записана последовательность целых чисел, разделенных пробелами. Написать программу, записывающую в текстовый файл t2 все отрицательные числа.

Как написать, что S – это целые числа разделенный пробелами?


Var
t1, t2: text;
S: string;

begin
assign (t1, 'C:\t1.txt');
rewrite(t1); writeln;
readln(S);
while S<0 do begin
writeln(f,S);
writeln('Ввод новой строки для выхода - Enter');
readln(S); end;
close(t1);
assign(t2, 'C:\t2.txt');
rewrite(t2); reset(t1);
readln(t1,S);

while
NOT eof(t1) do
begin
readln(t1, S);
writeln(t2, S);

If NOT eof(t1) then
readln(t1, S);
end;
close(t2); end.


и если не считать косяка с S, то в остальном есть ошибки?

Сообщение отредактировано: Art87 -


--------------------
Нас десять братьев на тропе, идем мы быстро, на легке ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 4)
сообщение
Сообщение #2


Гость






Art87
Цитата
Как написать, что S – это целые числа разделенный пробелами?
Ничего не надо писАть... Просто вместо WriteLn(f, S) сделай Write(f, S, ' ');

Ну, и само чтение подправь:

Var T: Integer;
...
reset(t1); rewrite(t2);
while NOT eof(t1) do begin
read(t1, T);
If T < 0 Then writeln(t2, S);
end;
close(t1); close(t2);
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


snoWolf
**

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

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


volvo

Я так написал. Вообще ничего не происходит. В чем ошибка?

Var
t1, t2: text;
S: string;
T: integer;

begin
assign (t1, 'C:\t1.txt');
rewrite(t1); writeln;
readln(S);
while T<0 do begin
writeln(t1,S, ''); writeln('Ввод новой строки для выхода - Enter');
readln(S); end;
close(t1);
assign(t2, 'C:\t2.txt'); reset(t1); rewrite(t2);
readln(t1,S);

while
NOT eof(t1) do
begin
read(t1, T);
writeln(t2, S);

If T<0 then
writeln(t2,S); end;
close(t1); close(t2);
end.


--------------------
Нас десять братьев на тропе, идем мы быстро, на легке ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Вот так файл T1 сначала заполняется "числами", записанными через пробел, а потом все отрицательные числа из него записываются еще и в файл T2...
Var
t1, t2: text;
S: string;
T: integer;

begin
assign (t1, 't1.txt');
rewrite(t1); writeln;
repeat
write('Ввод нового числа (для выхода - Enter): '); readln(S);
if s <> '' then
write(t1,S, ' ');
until s = '';
reset(t1);

assign(t2, 't2.txt');
rewrite(t2);

while NOT eof(t1) do begin
read(t1, T);
if T < 0 then writeln(t2, T);
end;

close(t1); close(t2);
end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


snoWolf
**

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

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


Спасибо , volvo good.gif


--------------------
Нас десять братьев на тропе, идем мы быстро, на легке ...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 19.05.2024 18:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name