Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: sagod   (11.03.2009 в 01:07)
Очень прошу помочь добить код..
Ошибка в цикле, знаю.. Как исправить?
main.c
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "fun.h"
 
double fun(double x)
{
    return x*x;
}
 
int main(void)
{
    double s,a,b; 
    int n;
    s=find(fun,0,1,10000);
    printf("s=%g",s);
    getchar();
}
 
 
fun.c
 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "fun.h"
 
double find(double (*p)(double), double a,double b, int n)
{
    double s,x;
    x=a;
    for(x=a;x<=b;x+=fabs((b-a)/n),a+=fabs((b-a)/n))
    {
        s=p((x+fabs((b-x)/n))/2)*(x+fabs((b-x)/n));
        x+=fabs((b-a)/n);
    }
    return s;
}
 
 
fun.h
 
double find(double (*p)(double), double a,double b, int n);
double fun(double x);


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: