Salut à tous, vous pouvez traduire ce programme en C pour moi.
Mon problème a moi c'est je suis bon en algo mais de la à la traduction il ya un grand pas.
besion d'aide.
programme relevé
var mat(1:10),nom(1:32): tableau de caractères
moyenne(1:32,1:10): tableau de réels
I,J, :entiers
moygen, moycla: réels
debut
(*saisie des tableaux*)
POUR I 1à 10 faire
afficher "entrer le nom de la matière"
saisir mat(I)
FPOUR
POUR J 1à 32 FAIRE
afficher "entrer le nom de l'élève"
saisir moyenne(J)
FPOUR
POUR I 1à 10 faire
afficher "entrer sa moyenne obtenue en",mat(I)
saisir moyenne(I,J)
FPOUR
FPOUR
moycla=0
POUR J de 1à 32 FAIRE
moygen=0
afficher"nom de l'élève: " ,nom(I)
(*traitement de chaque matière*)
POUR J de 1à10 FAIRE
afficher "moyenne obtenue en ",mat[I]
afficher moyenne(I,J)
moygen=moygen+moyenne(I,J)
FPOUR
afficher " moyenne générale de l'élève ",moygen/10
moycla=moycla+moygen/10
FPOUR
afficher"moyenne générale de la classe",moycla/32
FIN
printf("Entrez le nom de la natière:\n");
for(I=0, I<10, I++);
{
printf("Moyenne %s:",I+1);
scanf("%s", &MAT[I]);
}
Ici, plusieurs erreurs:
- tu affiches "moyenne" alors que c'est la matière qui est demandée
- tu vas l'afficher 10 fois, vu que tu l'as mis dans ta boucle
- %s sert à afficher une chaîne de caractère. Toi, tu affiches (I+1) qui est un float (d'ailleurs, pourquoi +1?)
- même topo pour scanf. Pour chopper un caractère, il faut mettre %c
Du coup, même "punition" pour la saisie du nom de l'élève, dont l'algo d'ailleurs est faux ou mal exprimé.
Regarde déjà ça et reviens nous voir après, une fois testé et validé de ton côté.
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
C'est triste de voir encore des gens demander ça. C'est tellement enrichissant de se creuser un minimum le cerveau pour accomplir ce genre de choses....