Fonction niveau debutant [C] - C - Programmation
Marsh Posté le 10-07-2007 à 16:33:01
desole il y a une erreur, voici mon code:
#include <stdio.h>
#include <conio.h>
/* Enoncé: Écrire une fonction qui calcule la moyenne des valeurs contenues dans un *
* tableau de 5 entiers. */
#define MAX_ELEM 5
float iTab[MAX_ELEM] = {2, 5, 4, 3, 1};
/* PROTOTYPE */
float moy_tab(float iTab[]);
void main(void)
{
/* Declaration des variables locales */
float fResMoy;
/* Appelle de la fonction */
fResMoy = moy_tab(iTab[]);
printf("La moyanne des valeurs du tableau = %f", fResMoy);
}
float moy_tab(float iTab[])
{
/* declaration des variables */
int iI;
float fMoyenne;
fMoyenne = iTab[0];
for (iI=1; iI<MAX_ELEM; iI++)
{
fMoyenne = iTab[iI] + fMoyenne;
}
return fMoyenne / MAX_ELEM;
}
Marsh Posté le 10-07-2007 à 16:35:56
Le bon reflexe à avoir est de debugger toi même le programme;
- tu mets un point d'arrêt avant que ca ne plante.
- tu déroules le programme jusqu'à ce que ça foire
- tu observes les valeurs des variables en jeu à ce moment du déroulement
- tu déduis naturellement la cause du bug.
Marsh Posté le 10-07-2007 à 16:46:11
oui c'est ce que j'ai fais de puis tout à l'heure mais je n'arrive toujours pas resoudre le problemme.
Marsh Posté le 10-07-2007 à 17:01:27
ca plante à quelle ligne ?
quel est le message d'erreur ?
Marsh Posté le 10-07-2007 à 17:15:00
L'erreur est ici : fResMoy = moy_tab(iTab[]);
Ecris fResMoy = moy_tab(iTab);
Marsh Posté le 10-07-2007 à 17:17:48
Tu devrais mettre ton code entre balises cpp pour que ce soit plus lisible. Si tu déclares ton tableau en dehors des fonctions tu n'as pas besoin de le passer en paramètre, toutes les fonctions y ont accès.
Marsh Posté le 10-07-2007 à 17:19:15
oui, exactement.
et message d'erreur est "error expression syntax"
Marsh Posté le 10-07-2007 à 17:21:00
Pour ce qui est de la correction du code, il y a effectivement beaucoup à dire (protoype de main, usage de variables globales).
Marsh Posté le 10-07-2007 à 18:18:43
Parceque, à l'exécution du code, la fonction attend l'adresse d'un tableau de float et les "[]" sont utilisés pour les déclarations de type de paramètres dans les déclarations de fonctions.
Marsh Posté le 10-07-2007 à 22:03:14
asie a écrit : Ah d'accord, encore merci Trap D. |
un site qui te sera bien utile:
http://mapage.noos.fr/emdel/
Marsh Posté le 14-07-2007 à 00:35:00
asie a écrit : voici mon code:
|
C'est quoi ces [] ? Tu sors ça d'où ?
Ceci compile et se comporte d'une manière plus souple...
Code :
|
Marsh Posté le 10-07-2007 à 16:28:55
Salut à tous j'ai une erreur sur l'appelation de la fonction mais je ne vois pas pourquoi, si vous voulez bien me donner une solution s.v.p.
voici, mon code:
Merci d'avance.