Programme en c

Fermé
pertorio Messages postés 36 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 29 janvier 2012 - 29 janv. 2012 à 10:58
pertorio Messages postés 36 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 29 janvier 2012 - 29 janv. 2012 à 14:42
Bonjour,
je sui debutant en c, j'ai un probleme avec ce programme,quand je l'execute,après avoir rentré les données, il cesse de fonctionner sans me retourner mon resultat. Aidez moi svp

le voici:



# include <iostream>
# include <fstream>
#include<stdlib.h>
using namespace std;
float fonction(int n,float b, float y)
{
int i;
float x[i];

for(i=0;i<=n;i++)
{
x[0]=y;
x[i+1] = b*x[i]*(1-x[i]);
}
}

main()
{
int n;
float b,x0;
printf("entrer n\n");
scanf("%d", &n);
printf("entrer x0 appartenant à [0,1]\n");
scanf("%f",&b);
printf("entrer b appartenant à [0,4]\n");
scanf("%f",&x0);
printf("resultat=%f",fonction(n,b,x0));
getchar();
return 0;
}




2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 836
29 janv. 2012 à 11:06
Ton programme contient plein d'erreurs.

int i;
float x[i];

Tu ne peux pas faire ça puisque la variable "i" n'est pas définie.
Plutôt float x[n];

for(i=0;i<=n;i++)
Attention, la dernière valeur de i sera n. Tu risques de sortir hors des limites du tableau x.

Dans ta fonction "fonction", tu as oublié de faire un return.


main()
Plutôt : int main()

getchar();
Je te conseille d'en mettre deux. Le premier servira à récupérer le \n stocké dans le buffer, le deuxième servira pour la pause. Ou tout simplement : system("pause");

Remarque générale :
Tu mélanges le C et le C++ qui sont des langages différents.
En C++, on utilise plutôt cin que scanf, cstdlib que stdlib.h

Corrige tous ces problèmes et reposte ton programme en utilisant la balise "code" (à droite du bouton souligné). Cela nous facilitera la correction.

Cdlt,
0
pertorio Messages postés 36 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 29 janvier 2012
29 janv. 2012 à 14:42
merci
0