Partage
  • Partager sur Facebook
  • Partager sur Twitter

Une erreur bizarre à la compilation !

stray "\l30" in programme.

    19 avril 2006 à 16:28:50

    Salut ! voyez ce code :

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int genereliste(int) ;
    int random(int,int) ;

    void main()
    {
    }

    int genereliste(int taille)
    {
        int valeur;
        int test = 0;
        int i;

        //initialise une liste.
        int *liste = malloc(taille*sizeof(int)) ;
        for(i=0 ; i<=taille ; i++)
        {
            liste[i]=0 ;
        }
        // Ce for va parcourir la liste.
        for(i=0 ; i<=taille ; i++)
        {
            //Test vaut 0 si cette valeur ce trouve dans la liste‚ sinon 1
            test=0;
            //Tant que  valeur se trouve déja dans la liste‚ on la reinitialise.
            while(test==0)
            {
                //donc on commence par randomize valeur
                valeur=random (0‚taille) ;
                //Par defaut elle ne se trouve pas encore dns la liste:
                test=1;
                //Il n'y a plus qu'a parcourir liste et remettre test à 0 si besoin.
                int j;
                for (j=0 ; j<=taille ; j++)
                {
                    if(liste[j]==valeur)
                    {
                        test=0;
                    }
                }
            }
            //Si on est sorti du while‚ c'est que c'est bon !
            liste[i]=valeur;
            //et on passe a la prochaine valeur du for
        }

        return liste;
    }

    int random (int min,int max)
    {
        static int valeur ;
        srand(time(NULL));
        valeur=(valeur+rand())%(max-min)+1+min;
        return valeur;
    }



    Je ne parviens pas a le compiler, mais je ne vois pas ce qui ne va pas !

    merci !
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      19 avril 2006 à 16:35:34

      Quelle est l'erreur exactement ? Ce que tu as mis dans le sous titre ? Il est possible (même si je ne l'ai jamais rencontré) que ce soit à cause des accents dans le code (commentaires), enlèves les, c'est pas bon.

      Sinon, il y a quelques trucs pas bons : main en mauvaise forme et qui ne fait rien, il faut mettre int main(void) et un return dedans, dans tes boucles t'as pas besoin de <= mais un < suffit (un tableau commence à 0 donc tableau[taille] n'existe pas). Mais peut-être que ce n'est qu'un bout de code.
      • Partager sur Facebook
      • Partager sur Twitter
        19 avril 2006 à 16:44:44

        Y'a pa d'accent dans mes commentaires ! Pour la forme, c'est vrai que c'est pas parfait, mais je verrait ça plus tard.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          19 avril 2006 à 16:50:13

          Si, cherches bien, tu as mis des accents (déja, à), puis la forme du main c'est important sinon c'est sûr il compile pas :p
          • Partager sur Facebook
          • Partager sur Twitter
            19 avril 2006 à 21:18:11

            Le problème vient du fait que tu aies copié-collé du code de ce site. Ce ne sont pas les accents qui foirent... mais les virgules :p .

            Donc : supprime toutes les virgules et réécrit les toi-même.

            Je te renvoie à l'intro de mon tuto "les pointeurs de fonctions" (qui attend d'être édité d'ailleurs, je sais pas ce que foutent les validateurs :-° ) où il y a un lien relatif à ce problème (ouf).

            ++ !
            • Partager sur Facebook
            • Partager sur Twitter

            Une erreur bizarre à la compilation !

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown