calculer la somme des éléments d 'un tableau

Voir le sujet précédent Voir le sujet suivant Aller en bas

calculer la somme des éléments d 'un tableau

Message  nouveau-programmeur le Sam 2 Mai 2009 - 20:42

Bonjour,

Je voudrais calculer la somme des éléments d'un tableau donné. Voilà mon algorithme en c. Le problème que je n'ai pas pu le compiler.Pourriez vous m'aider à trouver le problème?
Merci d'avance!

Code:

#include <stdio.h>

void saisie (int N, int L, int T[20][20] )
{
    int h, g;
        for(h=0;h<N;h++)
            {
            for(g=0;g<L;g++)
                {

                printf("donner les élements du tableau");
                scanf("%d",&T[20][20]);
                }
            }

}
/*****************************************************************************/
void affichage(int N, int L, int  T[20][20])
{

    int h, g;

    for(h=0;h<N;h++)
    {
        for(g=0;g<L;g++)
            {
                    printf("%d",T[h][g]);
            }
    }
}

/*****************************************************************************/
int somme( int N, int L, int T[20][20])
{
    int i, j, s;
    s=0;
    for (i=0;i<N;i++)
        {
            for(j=0;j<L;j++)
                {
                    s=s+T[20][20];
                }
        }
        return (s);
}



/*****************************************************************************/
int main()
{
    int Nl, Nc, T[20][20], SOMME;
    do
    {
            printf("donner le nombre de ligne");
            scanf("%d",&Nl);
    }while(Nl>20);

    do
    {
            printf("donner le nombre de colone");
            scanf("%d",&Nc);
    }while(Nc>20);

    affichage( Nl,  Nc,  T[20][20]);
    saisie( Nl,  Nc, T[20][20]);
    SOMME=somme( Nl,  Nc,T[20][20]);


        printf("la somme du tableau est :%d",&SOMME);
        return 0;
}

nouveau-programmeur
Bavard
Bavard

Messages : 30
Date d'inscription : 23/02/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: calculer la somme des éléments d 'un tableau

Message  -ed- le Lun 4 Mai 2009 - 17:23

nouveau-programmeur a écrit:Je voudrais calculer la somme des éléments d'un tableau donné. Voilà mon algorithme en c. Le problème que je n'ai pas pu le compiler.Pourriez vous m'aider à trouver le problème?
Tu peux déjà corriger ça :
Code:

-------------- Build: Debug in hello ---------------

Compiling: main.c
Linking console executable: bin\Debug\hello.exe
C:\dev\hello\main.c:52: warning: function declaration isn't a prototype
C:\dev\hello\main.c: In function `main':
C:\dev\hello\main.c:66: warning: passing arg 3 of `affichage' makes pointer from integer without a cast
C:\dev\hello\main.c:67: warning: passing arg 3 of `saisie' makes pointer from integer without a cast
C:\dev\hello\main.c:68: warning: passing arg 3 of `somme' makes pointer from integer without a cast
C:\dev\hello\main.c:71: warning: int format, pointer arg (arg 2)
Output size is 20.80 KB
Process terminated with status 0 (0 minutes, 1 seconds)
0 errors, 5 warnings
Ceci :
Code:
                scanf("%d",&T[20][20]);
N'a pas beaucoup de sens et invoque un comportement indéterminé (dépassement de tableau)... Tu veux sans doute :
Code:
                scanf("%d",&T[h][g]);
Ceci :
Code:
    affichage( Nl,  Nc,  T[20][20]);
n'a aucun sens. C'est l'adresse du premier élément du tableau qu'il faut passer, et non le contenu d'un élément qui n'appartient pas à ce tableau... Tu veux sans doute ceci :
Code:
    affichage( Nl,  Nc,  T);
Ceci :
Code:
  printf ("la somme du tableau est :%d", &SOMME);
n'a aucun sens. C'est l'adresse du premier élément du tableau qu'il faut passer, et non le contenu d'un élément qui n'appartient pas à ce tableau... Tu veux sans doute ceci :
Code:
  printf ("la somme du tableau est :%d", SOMME);
Ceci n'a pas de sens :
Code:

  int Nl, Nc, T[20][20], SOMME;

  <...>
  affichage (Nl, Nc, T);
Tu affiches le contenu d'un tableau non initialisé ? Est-ce bien raisonnable ?

Dans l'affichage, utiliser des '\n' à bon escient pour clarifier la présentation ... Quelques corrections plus tard ...
Code:

donner le nombre de lignes : 3
donner le nombre de colonnes : 4
Saisir l'element[0][0] : 1
Saisir l'element[0][1] : 2
Saisir l'element[0][2] : 3
Saisir l'element[0][3] : 4
Saisir l'element[1][0] : 5
Saisir l'element[1][1] : 6
Saisir l'element[1][2] : 7
Saisir l'element[1][3] : 8
Saisir l'element[2][0] : 9
Saisir l'element[2][1] : 10
Saisir l'element[2][2] : 11
Saisir l'element[2][3] : 12
  1  2  3  4
  5  6  7  8
  9  10  11  12

la somme du tableau est : 78

Process returned 0 (0x0)  execution time : 15.527 s
Press any key to continue.

_________________
C is a sharp tool !

-ed-
Admin
Admin

Messages : 289
Date d'inscription : 26/05/2008
Age : 60
Localisation : Paris 6eme arrondissement (75, France)

Voir le profil de l'utilisateur http://bien-programmer.fr

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum