Nějak jsem se na tom zasekl. Vždycky, když chci vykreslit histogram, tak napíše u všech položek stejnej počet hvězdiček bez ohledu na input.
Tady je celej můj kód: (moc jsem ho nekomentoval, protože tam podle mě není co komentovat... tak snad to pochopíte)
#include <stdio.h>
int main()
{
int Length, i, c, done;
Length = done = 0;
int WordLength[11] = { 0 };
for (i = 0; i < 11; i++) {
WordLength[i] = 0;
}
while (done == 0) {
c = getchar();
if (c == '\t' || c == ' ' || c == '\n') {
if (Length > 10) {
WordLength[10] += 1;
}
else {
WordLength[Length-1] += 1;
}
Length = 0;
}
else if (c == EOF) {
done = 1;
}
else {
Length += 1;
}
}
printf("\n");
int j, l;
//ocislovani histogramu
for (i = 1; i < 11; i++) {
if (i == 10) {
printf(">10 |");
}
else {
printf("%3d |", i);
}
// vykresleni histogramu
for (l = 0; l < 11; l++) {
for (j = 1; j <= WordLength[l]; j++) {
printf(" * ");
}
}
printf("\n");
}
return 0;
}
Problém musí být někde tady:
// vykresleni histogramu
for (l = 0; l < 11; l++) {
for (j = 1; j <= WordLength[l]; j++) {
printf(" * ");
}
}
, ale já to tam prostě nevidim.
Dokázal by mi prosím někdo poradit?