A voir également:
- Où est l'erreur dans mon programme?
- Erreur 0x80070643 - Accueil - Windows
- Programme demarrage windows 10 - Guide
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
3 réponses
Salut, je n'ai jamais fait de C mais je fais du C++. Je pense que l'erreur vient de
int i,n;
float somme,moy,tab[n];
Dans un tableau tu dois avoir une taille CONSTANTE. Donc tu devrais mettre :
const int n;
Mais tu dois définir la valeur de n car sinon je crois que par défaut il va faire n=0 (ou sinon il te mettra une valeur par défaut).
Donc je te propose :
int i;
const int n=nombre de note que tu veux
Si ceci ne t'aide pas, envoie nous ton erreur renvoyée par ton compilo.
Salut
Pierre-Lin
int i,n;
float somme,moy,tab[n];
Dans un tableau tu dois avoir une taille CONSTANTE. Donc tu devrais mettre :
const int n;
Mais tu dois définir la valeur de n car sinon je crois que par défaut il va faire n=0 (ou sinon il te mettra une valeur par défaut).
Donc je te propose :
int i;
const int n=nombre de note que tu veux
Si ceci ne t'aide pas, envoie nous ton erreur renvoyée par ton compilo.
Salut
Pierre-Lin
Effectivement, Pierre_Lin a raison, la dimension du tableau doit être constante.
mais cependant, la déclaration const int n=nombre, t'es sûr que ça marche?
et qu'est ce qui est sencé faire la commande fflush?
maya80
mais cependant, la déclaration const int n=nombre, t'es sûr que ça marche?
et qu'est ce qui est sencé faire la commande fflush?
maya80
Salut maya80,
je suis sûr à 100% que const int n = 50 marche (meme si en c++ il est très facile de modifier un objet constant...)
En revanche ce qui ne marche pas est
const in n; // tu as envie de déclarer n comme un entier constant
n=50;
normalement ceci ne doit meme pas compiler car si n est constant et qu'ensuite tu fais n=50 donc tu le modifies donc il n'est plus constant...
Pom
je suis sûr à 100% que const int n = 50 marche (meme si en c++ il est très facile de modifier un objet constant...)
En revanche ce qui ne marche pas est
const in n; // tu as envie de déclarer n comme un entier constant
n=50;
normalement ceci ne doit meme pas compiler car si n est constant et qu'ensuite tu fais n=50 donc tu le modifies donc il n'est plus constant...
Pom
5 nov. 2004 à 14:25
#include<stdio.h>
#define N 150
int main(void)
{
/*programme moyenne*/
int i,n;
float somme,moy,tab[N];
somme=0;
printf("combien de note voulez vous?");
fflush(stdin);
scanf("%d", &n);
for (i=0;i<n;i++){
printf("quelle est la note?\n");
scanf("%f",&tab[i]);
somme=somme+tab[i];
}
moy=somme/n;
printf("%f",moy);
fflush(stdin);
getchar();
}