Programme en c

pertorio Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
pertorio Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 846
 
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   Statut Membre Dernière intervention  
 
merci
0