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

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

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

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


Гость






Возникла небольшая проблема: нужно из 1 файла(с целыми числами) перенести все четные во 2, все нечетные - в 3.
Код есть:
Код

var
f,g,h:text;
s:string;
i,er:integer;
begin
assign(f,'c:\f.dat');
reset(f);
assign(g,'c:\g.dat');
rewrite(g);
assign(h,'c:\h.dat');
rewrite(h);
repeat
   read(f,s);
   val(s,i,er);
   if (i mod 2)=0 then writeln(g,i)
   else writeln(h,i);
until eof(f);
close(f);
close(g);
close(h);
end.

Проблема в том, что он не работает.
Я создал файл f.dat и написал в строке несколько чисел. Однако, после выполнения программы в g.dat присутствует только 0, а h.dat - пустой.
P.S. Правда непонятно, если их в одну строчку писать(числа), то как отличить 22 от двух двоек?Я пробовал писать числа на отдельных строках, так в итоге программа создает файлы h и g размером в 60 мегабайт. Почему?
P.S. С файлами только начал работать, так что не сердитесь, если ступил...smile.gif
P.S.S. 2 задача. Чуть не забыл smile.gif
Дано 2 текстовых фала f1 и f2. В f1 произвольный текст, слова в нем отделяютс пробелами и знаками препинания. В f2 не более 40 слов, они расположены парами. Первое слово - заменяемое, 2 слово - заменяющее. Если в f1 найдено заменяемое слово, то нужно его заменить заменяющим.
Помогите, кто чем сможет smile.gif.
Заранее спасибо.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата(-gooddron123- @ 20.02.05 10:31)
Я пробовал писать числа на отдельных строках, так в итоге программа создает файлы h и g размером в 60 мегабайт. Почему?


Код
repeat
   readLN(f,s); (*** <--- Смотри сюда !!! ***)
   val(s,i,er);
   if (i mod 2)=0 then writeln(g,i)
   else writeln(h,i);
until eof(f);


Числа должны быть именно на отдельных строках...

Кстати, чтобы проверить, является ли число НЕчетным, можно воспользоваться встроенной функцией Паскаля: function Odd(X: Longint): Boolean;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Спасибо, все заработало :thanks:
 К началу страницы 
+ Ответить 

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

 





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