Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2010, 12:07   #1
Sturvi
Новичок
Джуниор
 
Регистрация: 15.10.2010
Сообщений: 4
Вопрос первая интерполяционная формула ньютона



Код:
#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

int main(int argc, char *argv[])
{
    float x[6], y[6], x1=1.5;
    int n=3,i;
    for (i=0; i<=5; i++)
        {
              cin>>y[i];
              x[i]=i;
        }
    int  If, l;
    double h1, zn;
    float S=y[0], S1=0, S2=1, ch, h;
    h=x[1]-x[0];
    for (i=1; i<=n; i++)
        {
              ch=y[i]-y[i-1]; // дельта y0
              If*=i; // i!
              h1=pow(h,i); //  h^n
              zn=If*h1;   // 1!*h^n
              S1=ch/zn;  // первая часть
              S2*=x1-x[i-1];  // вычисление второй части
              S+=S1+S2;  // прибовляем в общую сумму
              S1=0;
        }
    cout<<S;
              
    system("PAUSE");
    return EXIT_SUCCESS;
}

Подскажите в чем ошибка? что сделано не так... у меня не выдает нужный ответ
Sturvi вне форума Ответить с цитированием
Старый 16.10.2010, 12:12   #2
Sturvi
Новичок
Джуниор
 
Регистрация: 15.10.2010
Сообщений: 4
По умолчанию

Код:
S+=S1+S2;
кроме этой строчки...
Sturvi вне форума Ответить с цитированием
Старый 16.10.2010, 12:19   #3
sever-42
Пользователь
 
Регистрация: 22.04.2010
Сообщений: 96
По умолчанию

попробуй под отладчиком раза 2 пройтись
вроде все так, ктоме S+=S1*S2;
If*=i; // i! тут if = if * i, if чему равно?
include <Qt>

Последний раз редактировалось sever-42; 16.10.2010 в 12:24.
sever-42 вне форума Ответить с цитированием
Старый 16.10.2010, 12:39   #4
Nazgulko
 
Регистрация: 15.10.2010
Сообщений: 3
По умолчанию

if не было проинициализированно перед тем как ты его стал использовать
+ как уже написали надо S+=S1*S2 а у тебя S1+S2
Nazgulko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод Ньютона lordsyrius Помощь студентам 5 23.11.2009 23:52
Метод Ньютона Durak Помощь студентам 1 30.04.2008 21:55
Метод Ньютона Cubar Помощь студентам 12 09.02.2008 21:28
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45