Langage C

anw.sab Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
doctormad Messages postés 456 Statut Membre -
Salut tout le monde bon voila j'ai un petit problème...
Voila le prototype de ma fonction :
int FONCTION (int T[], int n) ou bien int FONCTION (int *T, int n)

Je veux déterminer l'élément qui se répète le plus souvent dans le tableau, j'ai opter pour la boucle (For) mais je me suis bloqué

int FONCTION (int T[], int n)
{ int i , a ;
For (i=0 ; i<=n ; i++ )
{

Et la je vous demande de m'aider...
merci d'avance

1 réponse

  1. doctormad Messages postés 456 Statut Membre 99
     
    Salut,

    Il te faut un deuxième tableau qui stocke les occurences en incrémentant à chaque fois.

    A la fin du parcours de ton premier tableau le deuxième doit être rempli comme ça :

    tableau1 = [0 => a, 1 => a, 2 => b];

    tableau2['a'] = 2;
    tableau2['b'] = 1;

    Là tu n'as plus qu'a boucler sur ton tableau 2 pour trouver l'occurence la plus utilisée :

    occurence = '';
    plusutilisee = 0;
    for(tableau2) {
    if(tableau2[i] > plusutilisee ){
    occurence = i;
    plusutilisee = tableau2[i];
    }
    }

    Bon c'est pas codé en C mais t'as compris le principe :)
    0