Partage
  • Partager sur Facebook
  • Partager sur Twitter

exo 4 et 2 tableaux

re

    28 juin 2006 à 19:17:26

    slt amis zeros je voudrais vous reposer mon problem sur l'exercice 4 sur les tableaux topic qui je ne sais pas pourquoi a été fermé o_O .....bon
    zooska m'avait proposé un code pour ma fonction de l'exo 4 que j'ai déja essayé je vais vous montrer mes fonction et mon main
    fonction de l'exercice 4:
    void maximumtableau(long tt[],long taillet,long max)
    {
        long j;
        for(j=0;j<taillet;j++)
        {
            if (tt[j]>max)
            {
                tt[j]=0;
            }
        }
    }

    fonction de l'exercice 2
    double moyennetableau(long t2[],long tailletableau2)
    {
        /*moyenne=somme/taille donc
        appel de la fonction sommetableau*/

        return (sommetableau(t2,tailletableau2))/tailletableau2 ;
    }

    mon main :

    #include <stdio.h>
    #include <stdlib.h>
    #include "untitled1.h"
    int main(int argc,char *argv[])
    {
            long tailletableau,to[10],tc[10],k,maxi;
            do
                {
            printf("entrez la taille de vos tableaux: ");
                scanf("%ld",&tailletableau);
                }
        while((tailletableau>10) && (tailletableau==0));
            printf("entrez les valeurs contenues dans votre tableau\n");
            for(k=0;k<tailletableau;k++)
            {
                scanf("%ld",&to[k]);
            }
            printf("somme= %ld\n\n",sommetableau(to,tailletableau));
            printf("moyenne= %lf\n\n",moyennetableau(to,tailletableau));
            copietableau(to,tc,tailletableau);
            printf("tableau copie =");
            for(k=0;k<tailletableau;k++)
            {
                printf("%ld  \n",tc[k]);
            }
            printf("entrez le max: ");
            scanf("%ld",maxi);
            maximumtableau(to,tailletableau,maxi);
        for(k=0;k<tailletableau;k++)
            {
                printf("%ld  ",to[k]);
            }
        system("pause");
    }

    veuillez m'éclairer svp...
    merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      28 juin 2006 à 19:54:19

      Et quel est le problème ?
      • Partager sur Facebook
      • Partager sur Twitter
        28 juin 2006 à 20:39:22

        Dans ta fonction moyennetableau, la moyenne retournée sera un entier : en effet tu divise par un entier, donc le résultat sera un entier. Pour éviter cela, utilise un cast :
            return (double)(sommetableau(t2,tailletableau2))/(double)tailletableau2 ;

        Ensuite, cette ligne est problèmatique :
            while((tailletableau>10) && (tailletableau==0));

        Il y a 2 problèmes qui font quelle ne sert à rien : tailletableau ne peut JAMAIS être supérieure à 10 ET égal à 0. De plus le ; fait que cette boucle ne sert à rien du tout.

        Voilà les erreurs que j'ai trouvé, il y en a peut-être d'autres ( ou je me suis peut être planté ).
        Pourquoi ne pas mettre la fonction sommetableau et copietableau ?
        • Partager sur Facebook
        • Partager sur Twitter

        exo 4 et 2 tableaux

        × 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