Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2013, 19:28   #1
Алина Нестерова
Новичок
Джуниор
 
Регистрация: 03.12.2013
Сообщений: 1
По умолчанию Текстовые файлы

Народ помогите плс кому не сложно, сама не особо понимаю

Создать текстовый файл F, строки которого содержат слова. Считая, что количество символов в слове не превосходит пяти, определить сколько в файле F имеется слов, состоящих из одного, двух, трех и.т.д. символов. Результат поместить в файл G.

Программу оформить с помощью меню, включающего:
создание файла;
дополнение файла;
обработку;
печать файла;
выход.
Алина Нестерова вне форума Ответить с цитированием
Старый 04.12.2013, 10:01   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Код:
const

   limits = [#0..#32,'.',',',':',';','!','?','"'];
type

   TWords = array[1..40] of string;

var
   S: string;
   words : TWords;
   F:text;
   Kol,i, m:integer;
   K1,k2,k3,k4,k5:integer;

function GetWords(s : string; var w : TWords) : byte;
var
   i,back,n : byte;
begin
   i := 1;
   n := 0;
   while(i<=length(s)) do begin
      while(i<=length(s)) and (s[i] in limits) do
       inc(i);
      if i<=length(s) then begin
         back := i;
         while(i<=length(s)) and not(s[i] in limits) do
          inc(i);
         inc(n);
         w[n] := copy(s, back, i-back);
      end;
   end;

   GetWords := n;
end;

Begin
// обработка файла
   Assign(f,'data.txt');
   Reset(f);
   K1:=0; K2:=0; k3:=0; k4:=0; k5:=0;
   While not eof(f) do
      Begin
         Readln(f,s);
         Kol:=GetWords(s,words);
         For i:=1 to kol do
            Begin
                M:=length(words[i]);
                Case m of 
                  1: k1:=k1+1;
                  2: k2:=k2+1;
                  3: k3:=k3+1;
                  4: k4:=k4+1;
                  5: k5:=k5+1;
                End;
             End;
         End;
      Close(f);
...
End.

Последний раз редактировалось ZX Spectrum-128; 04.12.2013 в 10:09.
ZX Spectrum-128 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текстовые файлы Rooben Good Помощь студентам 6 13.12.2012 19:15
Текстовые файлы trum Помощь студентам 0 17.05.2012 00:43
Текстовые файлы. dlinkz Паскаль, Turbo Pascal, PascalABC.NET 0 24.04.2012 15:26
Текстовые файлы на С Raptor Общие вопросы C/C++ 15 26.01.2008 21:06