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

Résolu
hanaelham Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
hanaelham Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   209
 
... 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   Statut Membre Dernière intervention  
 
Je vous remercie pour votre aide et l'intérêt que vous portez..
amicalement
0