Witam mam następujący problem z programem który ma tworzyć historgram słów wejściowych ( wykresy poziome ) otóż nie bardzo wiem jak się zabrać za skalowaie wykresu :x A oto kod mojego programu:
#include<stdio.h>
#define MAXHIST 15 // maksymana długość histogramu
#define MAXWORD 11 // ograniczenie długości słowa
#define IN 1 // w słowie
#define OUT 0 // poza słowe
/* Program tworzący histogram wejściowych długosci słów poziomo */
void main(int argc, char* argv[])
{
int c, i, nc, state;
int len; // dlugość każdego wykresu
int maxvalue; // maksymalny licznik wśród elementów wl[]
int toolong; // liczba za długich słów
int wl[MAXWORD]; // licznik słów o dlugości = indeks
state = OUT; // poza słowem
nc = 0; // liczba znakow w słowie
toolong = 0; // liczba słów = MAXWORD lub dłuszych
for(i = 0; i < MAXWORD; ++i)
wl[i] = 0;
while((c = getchar()) != EOF)
{
if(c == ' ' || c == '\n' || c == '\t') // koniec słowa
state = OUT;
if(nc > 0)
if(nc < MAXWORD)
++wl[nc]; // słowa o długości nc
else
++toolong; // słowa za długie
else if(c == 'Q') // przerwanie while
break;
else if(state == OUT) // początek słowa
{
state == IN;
nc = 1;
}
else // wewnątrz słowa
++nc;
}
maxvalue = 0;
for(i = 1; i < MAXWORD; ++i)
if(wl[i] > maxvalue)
maxvalue = wl[i]; // maksymalny licznik słów