Дан текст, произвольной длины. Определить символ, встречающийся в тексте с максимальной частотой - C (СИ)
Формулировка задачи:
Помогите написать программы на языке С,с помощью scanf,printf и т.д.
1)Дан текст, произвольной длины. Определить символ, встречающийся в тексте с максимальной частотой.
2)Дана матрица размером n x m. Найти наибольший положительный и наименьший отрицательный элементы матрицы.
Решение задачи: «Дан текст, произвольной длины. Определить символ, встречающийся в тексте с максимальной частотой»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> //----------------------------------------------------------------------------- int* GetChars(const char text[], int* chars) { for (; *text; ++text) { chars[(const unsigned char)(*text)]++; } return chars; } //----------------------------------------------------------------------------- char GetFrequentChar(const char text[]) { int chars[256] = { 0 }; int max = 0, i; GetChars(text, chars); for (i = 1; i < 256; ++i) { if (chars[max] < chars[i]) { max = i; } } return max; } //----------------------------------------------------------------------------- int main() { printf("%c", GetFrequentChar("Hello World")); return 0; }
Объяснение кода листинга программы
- Создается функция
GetChars
, которая принимает текст и массив для хранения количества повторений каждого символа. - В функции
GetChars
происходит итерация по каждому символу текста. - Для каждого символа увеличивается счетчик в соответствующем массиве.
- Функция возвращает массив символов.
- Создается функция
GetFrequentChar
, которая принимает текст и возвращает символ с максимальной частотой. - В функции
GetFrequentChar
создается массивchars
размером 256 и инициализируется нулями. - Вызывается функция
GetChars
для заполнения массиваchars
. - В функции
GetFrequentChar
происходит итерация по всем символам, начиная со второго (исключая нулевой символ). - Если количество повторений текущего символа больше, чем максимальное значение, то обновляется максимальное значение и индекс максимального значения.
- Возвращается максимальный символ.
- В функции
main
вызывается функцияGetFrequentChar
с текстомHello World
. - Результат выводится на экран.
- Программа возвращает 0, заканчивая свое выполнение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д