1 Востаннє редагувалося regosso (06.11.2013 00:14:33)

Тема: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

Допоможіть, будь ласка, вирішити завдання з теми "Рекурсія".

Буду дуже вдячний за допомогу.


#include <iostream>
#include <cmath>
using namespace std;

double P1(double i, int N){

    double t;
    if (i<N)
        return 0;
    else
        t = P1(i - 1, N);
    return t* (i*N/(i*i+N*N));

}

double P2(double i, int z){
    z = 16;
    double t;
    double N = 1;
    if (i>z)
        return 0;
    else
        t = P2(i + 1, z);
    return t * (i*N/(i*i + N*N));
}

double P3(double t, double i, int N){
    t * (i*N / (i*i + N*N));
    if (i == N)
        return t;
    else
        return P3(t, i - 1, N);
}

double P4(double t, double i, int z){
    z = 16;
    int N = 1;
    t * (i*N / (i*i + N*N));
    if (i == z)
        return t;
    else
        return P4(t, i + 1, z);
}

int main() {
    double S, i, N;
    S = 0;
    cout<<"N=?";
    cin>>N;
    i = N;

    while (i <= 16)
    {
        S *= i*N / (i*i + N*N);
        i++;
    }

    cout<<"|S(iteratio)="<<S<<endl;
    cout <<"|P1(N,i)="<<P1(16, 1)<< endl;

    cout <<"|P2( i,N)="<<P2(1, 16)<<endl;

    cout<<"|P3(1, N,i)="<<P3(0, 16, 1)<<endl;

    cout<<"|P4(1, K,i)="<<P4(0, 1, 16)<<endl;

    cin.get();
    cin.get();

    return 0;
}

Дякую усім.

2 Востаннє редагувалося regosso (03.11.2013 20:20:30)

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

Буду вдячний, якщо знайдете мою помилку  покажете як правильно.

3

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

1. Описати, в чому полягає помилка - це ваш обов'язок, а не наш. Ми можемо роз'яснити, чому вона виникає і як із нею боротися, але вказати, що саме в роботі програми не так і як, на вашу думку, програма має працювати - це ви маєте зробити. Якщо ви не знаєте, що не так в роботі програми - може, воно все так?
2. Звертайте увагу на зауваження компілятора. У мене він лається на рядки 28 і 38. Попередження, звісно, не помилки, але вони не дарма пишуться.
3. Будь-яке число, помножене на нуль, буде нулем. Ви це знаєте?

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

4

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

koala написав:

1. Описати, в чому полягає помилка - це ваш обов'язок, а не наш. Ми можемо роз'яснити, чому вона виникає і як із нею боротися, але вказати, що саме в роботі програми не так і як, на вашу думку, програма має працювати - це ви маєте зробити. Якщо ви не знаєте, що не так в роботі програми - може, воно все так?
2. Звертайте увагу на зауваження компілятора. У мене він лається на рядки 28 і 38. Попередження, звісно, не помилки, але вони не дарма пишуться.
3. Будь-яке число, помножене на нуль, буде нулем. Ви це знаєте?

По-перше, це не обов'язок. А по-друге, я думав, що хоч професіонали мені допоможуть...

5

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

По-перше, це не обов'язок. А по-друге, я думав, що хоч професіонали мені допоможуть...

Нам оце нічим занятись, будемо лаби робити :)

Спробутийте віддебажити програму в себе в голові + листочок або дебагером. Та і взагалі koala дав вам вже хорошу підказку і подивіться на вказані рядки. :)

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

6 Востаннє редагувалося regosso (04.11.2013 00:12:29)

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

Replace написав:

По-перше, це не обов'язок. А по-друге, я думав, що хоч професіонали мені допоможуть...

Нам оце нічим занятись, будемо лаби робити :)

Спробутийте віддебажити програму в себе в голові + листочок або дебагером. Та і взагалі koala дав вам вже хорошу підказку і подивіться на вказані рядки. :)

Узагалі жодної помилки тут не вказує. А хоча тепер побачив попередження. Sorry)
Але дякую вам

7

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

regosso написав:

По-перше, це не обов'язок.

Не хочете отримувати допомоги - то не обов'язок, звісно. Але мені здавалося, що хочете. Вибачте, помилився.

regosso написав:

А по-друге, я думав, що хоч професіонали мені допоможуть...

А професіонали, по-перше, не телепати, а по-друге, не хочуть вдруге робити те, що ви вже зробили і просто полінькувалися написати. Якщо вам ліньки описати проблему - чому раптом професіоналам буде не ліньки її розв'язувати? Це, зрештою, ВАША проблема.

8

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

koala написав:
regosso написав:

По-перше, це не обов'язок.

Не хочете отримувати допомоги - то не обов'язок, звісно. Але мені здавалося, що хочете. Вибачте, помилився.

regosso написав:

А по-друге, я думав, що хоч професіонали мені допоможуть...

А професіонали, по-перше, не телепати, а по-друге, не хочуть вдруге робити те, що ви вже зробили і просто полінькувалися написати. Якщо вам ліньки описати проблему - чому раптом професіоналам буде не ліньки її розв'язувати? Це, зрештою, ВАША проблема.

Гаразд, але тільки допомігши мені, ви б могли довести, що ви Професіонал)
Дякую за допомогу. Уже не потрбно.

9

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

Я такі лаби робив на 1-му курсі. Більше не хочеться.
Не люблю нічого доводити. Та і цими лабами нічого не доведеш =)

10

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

Replace написав:

Я такі лаби робив на 1-му курсі. Більше не хочеться.
Не люблю нічого доводити. Та і цими лабами нічого не доведеш =)

Звичайно. Цілком підтримую, що лабами нічого не доведеш. Потрібно придумати якусь свою справу... чи програму. Таку, якої ще ніде нема... Я от над цим думаю. Тому лаби і не йдуть)

11

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

regosso написав:

Гаразд, але тільки допомігши мені, ви б могли довести, що ви Професіонал)
Дякую за допомогу. Уже не потрбно.

охрініти
люди пишуть наукові роботи, винаходять технології для покращення життя, риються в лайні, вибачте на слові, а тут потрібно просто написати маленьку лабу, щоб стати професіоналом
щодня стільки нового дізнаєшся...

Подякували: Replace, koala2

12 Востаннє редагувалося regosso (07.11.2013 23:03:13)

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

Cyan написав:
regosso написав:

Гаразд, але тільки допомігши мені, ви б могли довести, що ви Професіонал)
Дякую за допомогу. Уже не потрбно.

охрініти
люди пишуть наукові роботи, винаходять технології для покращення життя, риються в лайні, вибачте на слові, а тут потрібно просто написати маленьку лабу, щоб стати професіоналом
щодня стільки нового дізнаєшся...

Ну, гаразд, не професіонал, а хоч на щось здатний пргограміст, який не забуває те, чого навчається.

"Риються в ..!!."? Якщо ви так називаєте свою працю, то мовірно не любите свою роботу... то для чого змушуєте себе робити те, чого не хочете? Варіанти ж є...

Для "покращення" життя? Ви впевнені у виборі слова? Для "полегшення життя і потакання людській ліні" - згідний. Але хіба це покращення?... По-вашому, якщо люди в майбутньому те і робитимуть, що писатимуть коди, а  інші тільки сидітимуть зі своїми ґаджетами, то це буде "покращення життя"? А що ж тоді духовність? Де вона? По-вашому, мета людини чи її призначення на землі в потаканні ліні?.. Для чого ж тоді жити? Для чого тоді нам дана душа? А коли ж тоді починати розвивати свою свідомість, підсвідомість і згадувати...
Забагато запитань. Знаю. Але ж це просто крик душі...

13 Востаннє редагувалося koala (07.11.2013 23:20:51)

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

Пане, скажіть, нащо вам душа, духовність і всі інші красиві слова, що ви зараз приплели, якщо ви за півтижня так і не спромоглися відповісти на мої питання, які я поставив із метою - звертаю увагу - допомогти вам? Вам ліньки допомогти нам допомогти вам? Чи просто цей "крик душі" насправді є банальною спробою розвести лохів?
Не кажу вже, що звинувачувати людей, до яких ви звертаєтеся по безкоштовну професіональну допомогу, в непрофесіоналізмі - щонайменше дурниця. Професіоналам за роботу гроші платять. Ваша поведінка схожа на поведінку скандального жебрака, що називає жебраками звичайних людей, які не подали йому чи подали замало.

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

14

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

regosso написав:
Replace написав:

Я такі лаби робив на 1-му курсі. Більше не хочеться.
Не люблю нічого доводити. Та і цими лабами нічого не доведеш =)

Звичайно. Цілком підтримую, що лабами нічого не доведеш. Потрібно придумати якусь свою справу... чи програму. Таку, якої ще ніде нема... Я от над цим думаю. Тому лаби і не йдуть)

Якщо у вас простенькі лаби не йдуть, то що вже ж тоді говорити про серйозні проекти?

15

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

koala написав:

Пане, скажіть, нащо вам душа, духовність і всі інші красиві слова, що ви зараз приплели, якщо ви за півтижня так і не спромоглися відповісти на мої питання, які я поставив із метою - звертаю увагу - допомогти вам? Вам ліньки допомогти нам допомогти вам? Чи просто цей "крик душі" насправді є банальною спробою розвести лохів?
Не кажу вже, що звинувачувати людей, до яких ви звертаєтеся по безкоштовну професіональну допомогу, в непрофесіоналізмі - щонайменше дурниця. Професіоналам за роботу гроші платять. Ваша поведінка схожа на поведінку скандального жебрака, що називає жебраками звичайних людей, які не подали йому чи подали замало.

Мені здається чи ви тут порушили одне з правил форуму?...
Я ж написав, що уже все зрозумів і вирішив...

Дякую за допомогу. Уже не потрбно.

А крик душі - це те, що більшість людей просто реально зараз крім гр@шей нічого не цікавить. І все.
Хоча не всі такі.
А безкорислива допомога - це, по-вашому, "подавати ж..кам"?
Повертаючись до попереднього, варто зауважити, що після розв'язання поставленого завдання і письмового повідомлення про це, я вирішив більше не описувати програму(бо вона уже розв'язана).
Але оскільки ви кажете, що мені ліньки, то просто відповідаю, що не мав часу зробити це у зв'язку з перевантаженітю робочих днів.
  Але повторю: я все зрозумів стосовно цієї теми, зокрема, що ретарнути слід було не 0, а 1. Тай типи не співпадали і ще декотрі похибки, які я виправив.
Дякую за увагу.
п.л. (п.л. - у значенні постскриптум по-українськи)) я взагалі поет. але пішов в іншому напрямку.

16

Re: Рекурсивні функції. Обчислення сум та добутків за допомогою рекурсії

Закриваю тему. :)

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