Описать функцию MinLetter(Stroka), возвращающую букву, которая встречается в строке минимальное число раз - C (СИ)

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

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

Описать функцию MinLetter(Stroka) символьного типа, возвращающую букву, которая встречается в строке минимальное число раз. Если таких букв несколько, то возвращается - последняя. Дан текст. С помощью функции MinLetter вывести слово, образованное из букв, встретившихся в каждом слове минимальное число раз.

Решение задачи: «Описать функцию MinLetter(Stroka), возвращающую букву, которая встречается в строке минимальное число раз»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5.  
  6. char MinLetter(const char* const s)
  7. {
  8.   char result = 0;
  9.  
  10.   int occurrences[26];
  11.  
  12.   size_t i, length;
  13.  
  14.   length = strlen(s);
  15.  
  16.   if (length > 0)
  17.   {
  18.     memset(occurrences, 0, sizeof(occurrences));
  19.  
  20.     for (i = 0; i < length; i++)
  21.     {
  22.       occurrences[tolower(s[i]) - 97]++;
  23.     }
  24.  
  25.     result = 97;
  26.  
  27.     for (i = 0; i < 26; i++)
  28.     {
  29.       if (occurrences[result - 97] != 0)
  30.       {
  31.         if ((occurrences[result - 97] >= occurrences[i]) && (occurrences[i] > 0))
  32.         {
  33.           result = i + 97;
  34.         }
  35.       }
  36.       else if (occurrences[i] > 0)
  37.       {
  38.         result = i + 97;
  39.       }
  40.     }
  41.   }
  42.  
  43.   return result;
  44. }
  45.  
  46. int main(void)
  47. {
  48.   printf("%c\n", MinLetter("abcdefghijklmnopqrstuvwxyzz"));
  49.  
  50.   return 0;
  51. }

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


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

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

13   голосов , оценка 4.231 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы