Histogramme: Erreur de segmentation

Bonjour à tous !

Je suis en train d'écrire un petit prog qui comprend une fonction Histogramme qui reçoit 2 tableaux d'entiers Note et Histo. Histo[i] est le nombre de valeurs égales à i dans le tableau Note.

Mais vous voyez, toute fois je compile les codes, il me présente ' Erreur de segmentation '.
Vous pouvez m'aider ????

Merci en avance.

-------Voici les codes :

#include <stdio.h>
#define N 21

int Histogramme(int tn[],int th[]){
int i,val,count=0;
for(i=0;i<N;i++){
val=tn[i];
for(i=0;i<N;i++){
if(val==tn[i]){count++;}
}
th[i]=count;
}
return th[i];
}

int main(void){
int i,tabHisto[i];
int tabNote[N]={3,5,3,8,8,9,9,9,10,15,7,15,7,4,4,10,10,9,9,9,9};

for(i=0;i<N;i++){printf("%d ",tabNote[i]);}
printf("\n");

for(i=0;i<N;i++){printf("%d ",Histogramme(tabNote,tabHisto));}
printf("\n");

return 0;
}

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    ça compile ?????? !
    Quel compilateur utilises tu ?
    il faut dimensionner correctement tabHisto.
    1. emacs.

      mtn il marche, mais il affiche
      "3 5 3 8 8 9 9 9 10 15 7 15 7 4 4 10 10 9 9 9 9
      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 "

      je comprend pa pq...
    2. Contributeur
      emacs n'est pas un compilateur mais un éditeur.
      S'il n'affiche pas ce qu'il faut, c'est une erreur d'algorithme. Et comme je ne comprends pas ce que tu veux faire, je ne peut pas t'aider.