Дан текст, произвольной длины. Определить символ, встречающийся в тексте с максимальной частотой - 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;
}

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

  1. Создается функция GetChars, которая принимает текст и массив для хранения количества повторений каждого символа.
  2. В функции GetChars происходит итерация по каждому символу текста.
  3. Для каждого символа увеличивается счетчик в соответствующем массиве.
  4. Функция возвращает массив символов.
  5. Создается функция GetFrequentChar, которая принимает текст и возвращает символ с максимальной частотой.
  6. В функции GetFrequentChar создается массив chars размером 256 и инициализируется нулями.
  7. Вызывается функция GetChars для заполнения массива chars.
  8. В функции GetFrequentChar происходит итерация по всем символам, начиная со второго (исключая нулевой символ).
  9. Если количество повторений текущего символа больше, чем максимальное значение, то обновляется максимальное значение и индекс максимального значения.
  10. Возвращается максимальный символ.
  11. В функции main вызывается функция GetFrequentChar с текстом Hello World.
  12. Результат выводится на экран.
  13. Программа возвращает 0, заканчивая свое выполнение.

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


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

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

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