Как правильно отобразить гистограмму ?
Привет всем, я пытаюсь отобразить гистограмму для моих "выборов".
Я думаю, что мой код работает, но на 10-м ранге он, кажется, сдвигает все мои голоса, потому что я думаю, что есть 2 числа ...
Еще раз спасибо за потраченное время ;)
Что я уже пробовал:
#include <stdio.h> #include <stdlib.h> int main() { char character ; int TAB[12] = {0} ; int vote = 0; int I; printf("Please enter a character:\n"); scanf(" %c", &character); printf("Please enter votes\n"); while(1) { scanf("%d", &vote); if (vote == -1) { break; } TAB[vote-1]++; } printf("Histogram :\n"); /* Search for the maximum value */ int MAX=0; for (I=0; I<12; I++) { if(TAB[I]>TAB[MAX]) MAX=I; } int maximum = TAB[MAX]; while (maximum > 0) { for (I = 0; I < 12; I++) { if (TAB[I] == maximum) { printf("%c ",character); TAB[I] = (TAB[I] - 1) ; } else { printf(" "); } } maximum= maximum - 1; printf("\n"); } for (I = 0; I < 13; I++) { printf("%d ",I+1); } printf("\n"); MAX = MAX + 1; switch (MAX) { case 1: printf("Ido was elected!"); break; case 2: printf("Alon was elected!"); break; case 3: printf("Asaf was elected!"); break; case 4: printf("Daniella was elected!"); break; case 5: printf("Daniel was elected!"); break; case 6: printf("Dimitri was elected!"); break; case 7: printf("Gasob was elected!"); break; case 8: printf("Ido was elected!"); break; case 9: printf("Najib was elected!"); break; case 10: printf("Nir was elected!"); break; case 11: printf("Omer was elected!"); break; case 12: printf("Yair was elected!"); break; case 13: printf("Yarah was elected!"); break; } return 0; }
Richard MacCutchan
"Я думаю, что мой код работает" ... "я думаю, что есть 2 числа"
Мышление-это все очень хорошо, но вам нужно точно объяснить, в чем проблема.