Описать функцию MinLetter(Stroka), возвращающую букву, которая встречается в строке минимальное число раз - C (СИ)
Формулировка задачи:
Описать функцию MinLetter(Stroka) символьного типа, возвращающую
букву, которая встречается в строке минимальное число раз. Если таких букв
несколько, то возвращается - последняя. Дан текст. С помощью функции
MinLetter вывести слово, образованное из букв, встретившихся в каждом слове
минимальное число раз.
Решение задачи: «Описать функцию MinLetter(Stroka), возвращающую букву, которая встречается в строке минимальное число раз»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- char MinLetter(const char* const s)
- {
- char result = 0;
- int occurrences[26];
- size_t i, length;
- length = strlen(s);
- if (length > 0)
- {
- memset(occurrences, 0, sizeof(occurrences));
- for (i = 0; i < length; i++)
- {
- occurrences[tolower(s[i]) - 97]++;
- }
- result = 97;
- for (i = 0; i < 26; i++)
- {
- if (occurrences[result - 97] != 0)
- {
- if ((occurrences[result - 97] >= occurrences[i]) && (occurrences[i] > 0))
- {
- result = i + 97;
- }
- }
- else if (occurrences[i] > 0)
- {
- result = i + 97;
- }
- }
- }
- return result;
- }
- int main(void)
- {
- printf("%c\n", MinLetter("abcdefghijklmnopqrstuvwxyzz"));
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д