Skalowanie wykresu z gwiazdek

0

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
0
7wojok7 napisał(a):

otóż nie bardzo wiem jak się zabrać za skalowaie wykresu
Ale co w tym trudnego? Masz ilość poszczególnych słów:
''ala - 12
kot - 5
aaa - 3
pies - 16''
Następnie normujesz je sobie w ten sposób, że maksymalna wartość będzie miała 50 np znaków. Czyli 16 musiałbyś pomnożyć przez 50 i podzielić na 16. Robisz tak dla wszystkich danych i zaokrąglasz do liczb całkowitych:
''12 -> 12 * 50 / 16 = 37
5 -> 5 * 50 / 16 = 16
3 -> 3 * 50 / 16 = 9
16 -> 16 * 50 / 16 = 50''
I masz ile znaków musisz wypisać aby powstał Ci histogram.

1 użytkowników online, w tym zalogowanych: 0, gości: 1