Помогите программу на С дописать. Осталась самая сложная часть.
В общем читаем символы функцией getchar(), нужно вывести вертикальную гистограмму с посчитанным количеством вхождений каждого символа, желательно соотношение в процентах. Вхождения символов '\n','\t' и т.п. тоже нужно учесть и вывести в гистограмме.
Не могу сделать этот самый вывод гистограммы.
В массиве symbol хранится количество вхождений c-го символа, т.е c - код символа, а symbol[c] - количество вождений c-го символа.
К примеру если ввели символы:
AAAA
bb
должно выводится примерно следующее, при высоте экрана гистограммы, к примеру 10:
Показать скрытый текст
#
#
#
#
#
# # #
# # #
# # #
# # #
# # #
A \n b
Код:
#define SCREENHIGH 40
#define SCREENLENGTH 60
#include <stdio.h>
int main()
{
int maxChar,percent,k,countAll;
int symbol[256]={0},c;
maxChar=0;
k=0;
/*Ввод символов*/
while ( (c=getchar() )!=EOF ){
symbol[c]++;
countAll++;
}
putchar('\n');
/***************/
/*Счётчик*/
percent=countAll/100;
for ( c=0,maxChar=symbol[0];c<256;c++ ) {
if ( maxChar<symbol[c] ) maxChar=symbol[c];
}
/*Вывод гистограммы*/
putchar('\n');
return 0;
}