Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C/C++] TABLEAUX - Exercice 4

micro-bêtise... a priori

Sujet résolu
    17 août 2006 à 7:15:46


    #include <iostream>

    using namespace std;

    void max_tableau (long tableauXY[], long tailleTableau, long valeurMax);
    double moy_tableau (long tableauXX[], long tailleTableau);
    int main()
    {
        long tableau[8] = {5, 2, 18, 36, 11, 76}, i=0 ;
        max_tableau (tableau, 8, 30);
        moy_tableau (tableau, 8);
        return  0;
    }
    //////////FONCTION_MAX//////////////////////////////////////
    void max_tableau (long tableauXY[], long tailleTableau, long valeurMax)
    {
        long i;

        for (i=0 ; i<tailleTableau ; i++)
        {
            if (valeurMax > tableau[i])//<=== Le compileur dit error: `tableau'////////
    ///////////////////////////////////////////was not declared in this scope//////////
            {
                tableau[i] = 5;
            }
        }
    }
    ////////////////////////////////////////////////////////////
    //////////FONCTION_MOYENNE//////////////////////////////////
    double moy_tableau (long tableau[], long tailleTableau)
    {
        long i;
        double total=0;

        for (i=0 ; i<tailleTableau ; i++)
        {
            total += tableau[i];
            cout << tableau[i] << " ";
        }
        total /= tailleTableau;
        cout << "\n" << total;
    }
    /////////////////////////////////////////////////////////////



    J'ai decrit dans le code :)
    Pourquoi il veut pas compiler alors ?

    ========================================================================

    Et je me demande bien pourquoi on doit faire du C alors que le C++ c'est la même chose mais en plus simple ?

    Entre ça :
    cout << "Tu as " << variable << " ans." ;


    Et ça :
    printf("%ldn", variable);

    (Je suis même pas fichu de reproduire la meme chose tellement le C me fait gerber, et en particulier avec ces stupides printf justement)
    (J'ai beau suivre les cours du SdZ, je met des "cin" et "cout" quand meme = Je ne sais pas me servir de "printf" et "scanf")

    Le C++ est plus clair et compréhensible ! Pourquoi devoir se taper un langage vieux de plus de 15ans alors que tout peut très bien être appris en C++ ?

    Edit X : J'ai eu ma reponse dans le tout debut du tutorial "C/C++" (Comme il dit)
    En fait c'est juste parce que M@teo21 est borné. Je lui en veut pas forcement parce qu'il est pas le seul... (Stephane kikoo :p )
    Decidement ces etudiants qui veulent nous infliger la même chose que leurs ont infligé leurs profs... :-°

    editX : C'est quoi le probleme avec mes balises ? Ca marche! (Des espaces pas bien accueilli :S)
    • Partager sur Facebook
    • Partager sur Twitter
      17 août 2006 à 7:26:02

      Ca ne compile pas parceque ta variable tableau n'existe pas dans ta fonction, c'est tableauXY.
      • Partager sur Facebook
      • Partager sur Twitter
        17 août 2006 à 7:35:40

        ah bah bon ?
        Bah non...
        Ca fait toujours pareil quand je l'appelle "tableau".
        Et puis de toute façon le monsieur il a dit :
        "Si vous mettez pas de nom ça change rien ici" (bref résumé)

        J'aurais pu mettre :
        void max_tableau (long *, long, long);
        Et ça marche.
        (Enfin ça a été le cas jusqu'a maintenant :S )
        • Partager sur Facebook
        • Partager sur Twitter
          17 août 2006 à 7:40:16

          Ce que tu dis est vrai pour le prototype de la fonction mais pas pour la fonction elle même. Le code juste est:
          #include <iostream>

          using namespace std;

          void max_tableau (long tableauXY[], long tailleTableau, long valeurMax);
          // ou si tu veux
          // void max_tableau (long*, long , long );
          int main()
          {
             long tableau[8] = {5, 2, 18, 36, 11, 76}, i=0 ;
             max_tableau (tableau, 8, 30);
             return 0;
          }

          void max_tableau (long tableauXY[], long tailleTableau, long valeurMax)
          {
             long i;

             for (i=0 ; i<tailleTableau ; i++)
             {
                if (valeurMax > tableauXY[i])
                {
                   tableauXY[i] = 5;
                }
             }
          }
          • Partager sur Facebook
          • Partager sur Twitter
            17 août 2006 à 7:50:05

            Je serais tenté par un : Oh my god ! Ca marche !
            Mais je vais plutot me laisser aller a un :
            Je te venère Seb13 !
            ah ? C'est trop ?
            Bah merci...

            Oué bah en fait j'ai pas la moindre idée du pourquoi j'avais mis le XY pour la fonction... Je devais être perturbé par mes trip de biologiste chromosomique... :/
            (Parce que dans ma tête c'etait la même chose mais sans les XY, je l'avais mis dans le prototype pour bien marquer que ça changeait rien..)
            • Partager sur Facebook
            • Partager sur Twitter
              17 août 2006 à 7:54:29

              Oui c'est peut-être un peu trops, quoi que ... :)
              Mets ton sujet en résolu.
              • Partager sur Facebook
              • Partager sur Twitter

              [C/C++] TABLEAUX - Exercice 4

              × 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