Prière de m'aider à résoudre ce problème

Résolu/Fermé
hanaelham Messages postés 3 Date d'inscription vendredi 12 novembre 2010 Statut Membre Dernière intervention 13 novembre 2010 - 12 nov. 2010 à 22:42
hanaelham Messages postés 3 Date d'inscription vendredi 12 novembre 2010 Statut Membre Dernière intervention 13 novembre 2010 - 13 nov. 2010 à 02:13
Bonjour,

je travaille sur cet exercice :

écrire une fonction subd en C qui comporte 2 argument a et b et une fonction f permet de générer la subdivision régulière (xi) i=0,..,n et la suite (yi)i=0,....,n tq yi=f(xi).



j'ai procédé comme suit :



#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define N 10
float f(float x){
return pow(x,2)+sin(x);
}
void subd(float f,float a,float b){
float f(float x);

float X[N],Y[N];
int i;
float h;
h=(b-a)/10.;

for(i=0;i<N;i++){
X[i]=a+i*h;
printf("x[i] : %f\n",X[i]);
}
for(i=0;i<N;i++){
Y[i]=f(X[i]);
printf("y[i] : %f\n",Y[i]);
}

}

main(){
void subd(float f,float a,float b);
float a=1;
float b=2;
subd(f,a,b);
system("pause");
}


mais lorsque je compile ,il provoque l'erreur suivante :

'f' redeclared as different kind of symbol
previous definition of 'f' was here
incompatible type for argument 1 of 'subd'
A voir également:

2 réponses

Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
Modifié par Fallentree le 13/11/2010 à 00:29
... void subd(float f,float a,float b){
float f(float x); ...

tu redeclares la fonction une deuxieme fois dans la deuxieme fonction ...

Evites de l'appeler avec une seule lettre ...
De plus Float f est aussi un parametre de ta 2 eme fonction ..
Ca se marche sur les pieds..
Il peut penser que tu rapelles la fonction lorsque tu lances la 2 eme fonctions ...
0
hanaelham Messages postés 3 Date d'inscription vendredi 12 novembre 2010 Statut Membre Dernière intervention 13 novembre 2010
13 nov. 2010 à 02:13
Je vous remercie pour votre aide et l'intérêt que vous portez..
amicalement
0