![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
FENIX |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
Никогда не работал с файлами, и вот не могу решить следущую задачу (понимаю, что она легкая, но все-таки...)
Задача: в выходной файл поместить количество цифр каждого числа из исходного файла. Работаем мы с текстовыми файлами. Пример: для 12345 - 5, 846 - 3. Помогите, плиз ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
FENIX
Если входной файл содержит ТОЛЬКО числа - то просто читай их как строки... Код var fin, fout: text; s: string; begin assign(fin, 'input.txt'); {$i-}reset(fin);{$i+} assign(fout, 'output.txt'); {$i-}rewrite(fout);{$i+} while not seekeof(fin) do begin readln(fin, s); writeln(fout, length(s)); end; close(fout); close(fin) end. Пример входного файла (Input.txt): Цитата 123 1234 12345 123456 123 1234 23 33 3 9 |
FENIX |
![]()
Сообщение
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
volvo
Входной файл содержит только числа, но они идут в строку. Как быть? |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
FENIX
Тогда так: Код var fin: file of char; fout: text; ch: char; count: integer; begin assign(fin, 'input.txt'); {$i-}reset(fin);{$i+} assign(fout, 'output.txt'); {$i-}rewrite(fout);{$i+} count := 0; while not eof(fin) do begin read(fin, ch); if ch in ['0' .. '9'] then inc(count) else if count > 0 then begin writeln(fout, count); {если нужно результаты в строку: write(fout, count, ' ');} count := 0 end; end; close(fout); close(fin) end. |
FENIX |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 45 Пол: Мужской Репутация: ![]() ![]() ![]() |
Большое спасибо, все работает
![]() |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 1:18 |