![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
-gooddron123- |
![]()
Сообщение
#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. С файлами только начал работать, так что не сердитесь, если ступил... ![]() P.S.S. 2 задача. Чуть не забыл ![]() Дано 2 текстовых фала f1 и f2. В f1 произвольный текст, слова в нем отделяютс пробелами и знаками препинания. В f2 не более 40 слов, они расположены парами. Первое слово - заменяемое, 2 слово - заменяющее. Если в f1 найдено заменяемое слово, то нужно его заменить заменяющим. Помогите, кто чем сможет ![]() Заранее спасибо. |
![]() ![]() |
volvo |
![]()
Сообщение
#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; |
Guest |
![]()
Сообщение
#3
|
Гость ![]() |
Спасибо, все заработало :thanks:
|
![]() ![]() |
![]() |
Текстовая версия | 21.07.2025 9:28 |