Problème en C, tableaux
Fermé
jordan04
Messages postés
4
Date d'inscription
mercredi 26 novembre 2008
Statut
Membre
Dernière intervention
27 janvier 2009
-
27 janv. 2009 à 22:14
loupius - 27 janv. 2009 à 23:22
loupius - 27 janv. 2009 à 23:22
A voir également:
- Problème en C, tableaux
- Tableaux croisés dynamiques - Guide
- Fusionner deux tableaux excel - Guide
- Mise en forme tableau word - Guide
- À l'aide des tableaux ci-dessous, trouvez le mot dont le code ascii est le suivant : 50 52 4f 4d 45 4e 45 55 52 - Forum C
- Citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). ✓ - Forum Logiciels
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 843
27 janv. 2009 à 23:20
27 janv. 2009 à 23:20
Salut,
Ton erreur se situe au niveau de l'affectation des variables. Tu n'utilises pas les indices des boucles for pour initialiser les différentes cases du tableau.
Evite les variables globales, surtout quand tu en as pas besoin ;).
De plus, en C, les tableaux commencent à 0.
Pour le calcul des moyennes, ta méthode est presque bonne. Tu as juste oublié de réinitialiser ta variable moy à 0.
Tu le fais juste avant de passer au calcul de la moyenne d'un autre élève.
Cdlt
Ton erreur se situe au niveau de l'affectation des variables. Tu n'utilises pas les indices des boucles for pour initialiser les différentes cases du tableau.
Evite les variables globales, surtout quand tu en as pas besoin ;).
De plus, en C, les tableaux commencent à 0.
#include <stdio.h> #define NB_EL 10 #define NB_MAT 3 int main(void) { int T[NB_EL][NB_MAT]; char *matiere[]={"Math","Francais","Anglais"}; int moy; //initialisation des notes for(int i=0;i<NB_EL;i++){ for(int j=0;j<NB_MAT;j++){ printf("note de %s de l'élève %d : ",matiere[j],i+1); scanf("%d",&T[i][j]); } } getchar(); //mieux que system("PAUSE"); ;) return 0; }
Pour le calcul des moyennes, ta méthode est presque bonne. Tu as juste oublié de réinitialiser ta variable moy à 0.
Tu le fais juste avant de passer au calcul de la moyenne d'un autre élève.
Cdlt
Non, non, l'erreur ne se trouve pas que dans cette ligne:
On peut trouver aussi:
Il y en a peut-être d'autres, mais essayes déjà avec ces corrections.
Bon courage.
moy=moy+T[i][j]; \\ mon probleme ce trouve surement dans cette ligne \\J'aurais plutôt mis:
somme = somme + T[i][j]et je n'aurais pas oublié d'initialiser somme à 0 pour chaque élève.
On peut trouver aussi:
scanf("%d",&T[10][1]); scanf("%d",&T[10][2]); scanf("%d",&T[10][3]);car le premier indice est guidé par i et le second ne peut aller que de 0 à 2 (soit 3 valeurs).
Il y en a peut-être d'autres, mais essayes déjà avec ces corrections.
Bon courage.