Programme en c

pertorio Messages postés 36 Statut Membre -  
pertorio Messages postés 36 Statut Membre -
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 11653 Statut Contributeur 1 847
 
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 Statut Membre
 
merci
0