Advertisement
klasscho

Untitled

Feb 24th, 2020
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. program Project19;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. {$R *.res}
  6.  
  7. uses
  8. System.SysUtils, Windows;
  9.  
  10. type
  11. SetOFChar = set of char;
  12.  
  13. const
  14. Vocals = ['а','е','ё','и','о','у','ы','э','ю','я','А','Е','Ё','И','О','У','Ы','Э','Ю','Я'];
  15. Consonants = ['б','в','г','д','ж','й','з','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ','ь','ъ','Б','В','Г','Д','Ж','Й','З','К','Л','М','Н','П','Р','С','Т','Ф','Х','Ц','Ч','Ш','Щ','Ь','Ъ'];
  16.  
  17. procedure LineResult(VowelsNum, ConsonantsNum: Integer; ActualVowels, ActualConsonants: SetOFChar);
  18. var
  19. i: Ansichar;
  20. begin
  21. if (VowelsNum = 0) and (ConsonantsNum = 0) then
  22. Writeln('В строке отсутствуют буквы.')
  23. else
  24. begin
  25. if VowelsNum = 0 then
  26. begin
  27. Writeln('В предложении отсутствуют гласные буквы.')
  28. end;
  29. if ConsonantsNum = 0 then
  30. begin
  31. writeln('В предложении отсутствуют согласные буквы.')
  32. end;
  33. end;
  34. writeln('Количество гласных: ', VowelsNum);
  35. writeln('Количество согласных: ', ConsonantsNum);
  36. end;
  37.  
  38. procedure LineCheck(InputLine: AnsiString; High: Integer);
  39. var
  40. i: Integer;
  41. ActualVowels, ActualConsonants : set of Char;
  42. VowelsNum, ConsonantsNum: Integer;
  43.  
  44. begin
  45. VowelsNum := 0;
  46. ConsonantsNum := 0;
  47. ActualVowels := [];
  48. ActualConsonants := [];
  49. for i := 0 to High do
  50. begin
  51. if InputLine[i] in Vocals then
  52. begin
  53. Inc(VowelsNum);
  54. Include(ActualVowels, InputLine[i]);
  55. end
  56. else
  57. if InputLine[i] in Consonants then
  58. begin
  59. Inc(ConsonantsNum);
  60. Include(ActualConsonants, InputLine[i]);
  61. end;
  62. end;
  63. LineResult(VowelsNum, ConsonantsNum, ActualVowels, ActualConsonants);
  64. end;
  65.  
  66. procedure LineRead();
  67. var
  68. InputLine: ansistring;
  69. IsIncorrect: boolean;
  70. begin
  71. IsIncorrect := False;
  72. repeat
  73. Writeln('Введите предложение:');
  74. Readln(InputLine);
  75. IsIncorrect := True;
  76. if InputLine = '' then
  77. begin
  78. writeln('Введена пустая строка, повторите попытку!');
  79. IsIncorrect := False;
  80. end;
  81. until IsIncorrect;
  82. LineCheck(InputLine, Length(InputLine));
  83. end;
  84.  
  85. begin
  86. SetConsoleCP(1251);
  87. SetConsoleOutputCP(1251);
  88. LineRead();
  89. Readln;
  90. e
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement