Напишите программу, печатающую гистограммы частот встречаемости вводимых
символов.
Вот как я пытался решить (пока просто заполнить массивы):
#include <stdio.h>
#define LIM 100
int main()
{
char symbols[LIM]; // здесь будем хранить наши символы
int frequency[LIM]; // а здесь частоту этих символов
int i;
for (i = 0; i < LIM; i++)
frequency[i] = 0;
int c;
int j = 0; // расположение последнего существующего символа в symbols[]
while ((c = getchar()) != EOF) {
for (i = 0; i <=j; i++){
if (c == symbols[i]) // если символ есть в symbols[] то просто увеличиваем frequency[]
frequency[i]++;
else if (c != ' ' && c != '\t' && c != '\n') {// если нет, то добавляем симво в
// symbols[] и увеличиваем frequrncy[]
symbols[j] = c;
frequency[j]++;
j++;
}
}
}
for (i = 0; i <= j; i++) // выводим результат
printf("\n%c = %d", symbols[i], frequency[i]);
}
Результат:
Что я делаю не так?