Advertisement
EvenGuy

Задание 3 - 6

Jun 20th, 2016
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.61 KB | None | 0 0
  1. program Project1;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   SysUtils;
  7.  
  8. var
  9.   TxtFile : TextFile;  // Текстовый файла
  10.   FName : String[255]; // Имя файла
  11.  
  12.   GlsCnt, SglCnt : Word;     // Кол-во гласных и согласных
  13.   Gls, Sgl : set of Char;    // Множества гласных и согласных
  14.   Str : String[255];
  15.  
  16.   i : Integer;
  17.  
  18. begin
  19.   GlsCnt := 0;
  20.   SglCnt := 0;
  21.  
  22.   // Создание множеств гласных и согласных
  23.   Sgl := ['a' .. 'z'];
  24.   Gls := ['a','e','i','o','u'];
  25.  
  26.   Sgl := Sgl-Gls;
  27.  
  28.   // Запрос имени файла
  29.   Write('Vvedite imya faila:'); ReadLn(FName);
  30.  
  31.   // Открытие файла на чтение с проверкой
  32.   AssignFile(TxtFile,FName);
  33.  
  34.   {$I-}Reset(TxtFile);{$I+}
  35.   if IoResult <> 0 then
  36.     begin
  37.       WriteLn('Oshibka pri otkritii faila!');
  38.       Exit;
  39.     end;
  40.  
  41.   // Чтение строк, с разбором каждой из них
  42.   while not EOLN(TxtFile) do
  43.     begin
  44.       ReadLn(TxtFile,Str);
  45.  
  46.       for i := 1 to Length(Str) do
  47.         if Str[i] in Gls then
  48.           Inc(GlsCnt)
  49.         else if Str[i] in Sgl then
  50.           Inc(SglCnt);
  51.     end;
  52.  
  53.   // Закрытие файла
  54.   CloseFile(TxtFile);
  55.  
  56.   // Вывод итога
  57.   if GlsCnt > SglCnt then
  58.     WriteLn('Glasnyh bolshe chem soglsnyh')
  59.   else if GlsCnt < SglCnt then
  60.     WriteLn('Soglasnyh bolshe chem glasnyh')
  61.   else if GlsCnt = SglCnt then
  62.     WriteLn('Odinakovoy kolichestvo glasnyh i soglsnyh');
  63.  
  64.   WriteLn('Glasnyh:   ',GlsCnt);
  65.   WriteLn('Soglasnyh: ',SglCnt);
  66.  
  67.   ReadLn;
  68. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement