Напечатать в алфавитном порядке все звонкие согласные, которые входят хотя бы в одно слово - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дан текст на русском. Напечатать в алфавитном порядке все звонкие согласные, которые входят хотя бы в одно слово.
uses crt;
type let='a'...'я';
var sogl;set of let;
text:set of char;
c:char;
s:string;
i:byte;
begin
writeln ('введите текст заканчивающийся точкой');
readln (s);
if s [length (s)]<>'.'then s:=s+'.';
text:=[];
sogl := ['б','в','г','д','ж','з','л','м','н','р'];
repeat
if s[i] in sogl then text:=text +[s[i]];
i=i+1;
until s[i]='.';
for c:='a' to 'я' do if c in text then write (s);
readln; 
end.

Решение задачи: «Напечатать в алфавитном порядке все звонкие согласные, которые входят хотя бы в одно слово»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main()
{
   static const char CChars[] = "бвгджзлмнр";
   static const size_t CCharsSize = sizeof(CChars) / sizeof(*CChars);
   char text[256] = {'\0'};
   size_t i;
 
   fgets(text, sizeof(text) - 1, stdin);
 
   for (i = 0; i < CCharsSize; ++i)
   {
      if (strchr(text, CChars[i]))
      {
         printf("%c", CChars[i]);
      }
   }
 
   return 0;
}

Объяснение кода листинга программы

В этом коде:

  1. Объявлены две константы: CChars и CCharsSize. CChars содержит набор звонких согласных букв, а CCharsSize - размер этого набора.
  2. Объявлена переменная text, в которую программа будет считывать текст до тех пор, пока не встретит символ новой строки.
  3. После считывания текста программа перебирает каждый символ из набора CChars.
  4. Если в тексте есть символ, соответствующий текущему из набора CChars, то этот символ выводится на экран.
  5. Программа завершается, когда все символы из набора CChars будут проверены.
  6. Ввод данных осуществляется с клавиатуры.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы