1 Востаннє редагувалося Skyzerks Synx (11.10.2014 21:37:09)

Тема: Функції зі змінним числом параметрів + невелика зміна умов

Ось тут ми маємо програму для обчислення по схемі Горнера. Мене заінтересувало переробити свій код так щоб мої коефіцієнти вводилися з клавіатури. Однак, це призвело до того що я не знаю як задати умову повернення кожного коефіцієнта в тіло обчислення схеми Горнера. (Думав через масив записати коефіцієнти, але на певному етапі просто перестало працювати  *FACEPALM* ). Самому ще хотілось би ліпше зрозуміти саму реалізацію функції зі змінними параметрами (де її використання доцільніше).

double gorn(int n, ...);
int _tmain(int argc, _TCHAR* argv[])
{
    cout<< gorn(3); //<- не дуже поняв як воно працює з цими трьома змінними...але працює :) 
    system("pause");
}
double gorn(int n, ...)
{ //n задає кількість елементів
    int *p = &n;
    int x;
    setlocale(LC_CTYPE, "rus"); 
    printf("Введите х: ");
    cin>>x;
    int *a = new int[*p];
    double sum=0;
    for(;n>=0;n--)
    {
        a[n] =n+1; 
        sum+= a[n]*pow(x, n);
    }
    return sum;
}

18 ряд коду - тут я і задав введення цих коефіцієнтів. Тепер мені власне і захотілось їх вводити з клавіатури, але як я писав раніше, в мене закінчились ідеї щоб вернути ці значення в схему Горнера.

2

Re: Функції зі змінним числом параметрів + невелика зміна умов

Прихований текст

я вас ненавиджу

Подякували: koala1

3 Востаннє редагувалося koala (11.10.2014 22:07:24)

Re: Функції зі змінним числом параметрів + невелика зміна умов

Тут ми не маємо обчислення по схемі Горнера.
Крім того, ми не маємо функції із змінним числом параметрів (тобто вона проголошена, але ті параметри не використовує).
Ну і якщо ви не знаєте, як замість присвоєння

x = y;

зробити введення x з клавіатури, то вам ще зарано працювати зі складними особливостями мови (на кшталт функцій зі змінною кількістю параметрів) і алгоритмами, на кшталт схеми Горнера - ви ще надто слабо знаєте базові речі.
Так, і в рядку

cout<< gorn(3);

є рівно одна змінна - cout.

4

Re: Функції зі змінним числом параметрів + невелика зміна умов

https://pp.сайт-злодій/c625123/v625123617/50cf/dUEHPIkFPL0.jpg

Це схема Горнера, чи не так?

    double sum=0;
    for(;n>=0;n--)
    {
        a[n] =n+1; 
        sum+= a[n]*pow(x, n);
    }
    return sum; 

5

Re: Функції зі змінним числом параметрів + невелика зміна умов

Ні, це просто обчислення значення поліному. Схема Горнера не використовує піднесення в степінь, тому працює швидше.