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

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

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

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


Новичок
*

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

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


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

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


Новичок
*

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

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


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


Новичок
*

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

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


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

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

 





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