Нахождение самого частого символа в строке - C (СИ)
Формулировка задачи:
Доброго времени суток.
Ищу доброго человека для помощи. Необходимо написать программу на С. Или если быстро нашли как это сделать, то хотя бы на словах.Задание
:
Описать функцию, определяющую, какой символ чаще других встречается в строке.
Входной параметр – строка. Возвращаемое значение – символ.
Примечаение
:
В функции main должна быть организована корректная обработка возвращаемого значения
написанной вами функции. И еще говорили про память, надо использовать malloc, что она делает гугл поведал.
(WMR)
Решение задачи: «Нахождение самого частого символа в строке»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
size_t count(const char *str, char ch)
{
size_t c = 0;
size_t str_len = strlen(str);
int i;
for(i = 0; i < str_len; i++)
if (str[i] == ch)
c++;
return c;
}
char max_count(const char *str)
{
size_t _count = 0, buf_count = 0;
int i;
char ch;
size_t str_len = strlen(str);
for (i = 0; i < str_len; i++)
{
buf_count = count(str, str[i]);
if (buf_count > _count)
{
ch = str[i];
_count = buf_count;
}
}
return ch;
}
int main(void)
{
const size_t str_len = 256;
char * str = (char*)malloc(sizeof(char) * str_len);
setlocale(LC_ALL, "");
printf(">>");
fgets(str, str_len, stdin);
printf("Самый частый символ: '%c'\n", max_count(str));
free(str);
return 0;
}