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

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

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

 
 Ответить  Открыть новую тему 
> Работа с файлами
FENIX
сообщение 10.12.2004 12:07
Сообщение #1


Новичок
*

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

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


Никогда не работал с файлами, и вот не могу решить следущую задачу (понимаю, что она легкая, но все-таки...)
Задача: в выходной файл поместить количество цифр каждого числа из исходного файла.
Работаем мы с текстовыми файлами.

Пример: для 12345 - 5, 846 - 3.
Помогите, плиз smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 10.12.2004 14:53
Сообщение #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
сообщение 10.12.2004 20:02
Сообщение #3


Новичок
*

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

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


volvo
Входной файл содержит только числа, но они идут в строку.
Как быть?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 10.12.2004 20:40
Сообщение #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
сообщение 10.12.2004 23:25
Сообщение #5


Новичок
*

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

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


Большое спасибо, все работает smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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