oh, this program works but in main program this cant work!!!
Code:
int main(){
float *p;
int n,m,i;
printf("tabe chand jomlei bashad: ");
scanf("%d",&n);
p=(float *) malloc (sizeof (float) *(n));
if(!p)
{
printf("allocation failed");
exit(1);
}
for(i=1;i<n;i++){
printf("zaribe jomleye %d ra vared konid: ",i);
scanf("%f",&p[i]);
}
printf("meghdare sabet ra vared konid: ");
scanf("%f",&p[0]);
printf("\nmeghdari ra vared konid ta meghdare tabe asli, va moshtagh hesab shavad: ");
scanf("%d",&m);
tabe(p,n,m);
moshtagh(p,n,m);
antegral(p,n);
getch();
return 0;
}
void tabe (float *p,int n,int m){
int i;
float ans=p[0];
printf("\ntabe asli:\n");
for(i=n-1;i>=0;i--)
printf("+%3.2fx^%d",p[i],i);
for(i=n-1;i>=1;i--)
ans=pow (m,i)*p[i]+ans;
printf("\nmeghdare tabe bar asase meghdare %d mishavad: %3.2f",m,ans);
}
void moshtagh (float *p, int n, int m){
int i;
float ans;
for(i=n-1;i>0;i--)
p[i]=p[i]*i;
printf("\n\nmoshtaghe tabe:\n ");
for(i=n-1;i>0;i--)
printf("+%3.2fx^%d",p[i],i-1);
ans=p[1];
for(i=n;i>1;i--)
ans=ans+pow(m,i-1)*p[i];
printf("\nmeghdare moshtaghe tabe bar asase meghdare %d mishavad: %3.2f",m,ans);
}
void antegral(float *p, int n){
int i;
for(i=n-1;i>=0;--i)
p[i]=p[i]/(i+1);
printf("\n\nantegrale tabe: ");
for(i=n-1;i>=0;i--)
printf("+%3.2fx^%d",p[i],i+1);
}