Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с файлами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
FENIX
Никогда не работал с файлами, и вот не могу решить следущую задачу (понимаю, что она легкая, но все-таки...)
Задача: в выходной файл поместить количество цифр каждого числа из исходного файла.
Работаем мы с текстовыми файлами.

Пример: для 12345 - 5, 846 - 3.
Помогите, плиз smile.gif
volvo
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
volvo
Входной файл содержит только числа, но они идут в строку.
Как быть?
volvo
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
Большое спасибо, все работает smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.