Форум программистов, компьютерный форум CyberForum.ru

Правильное деление - C++

Восстановить пароль Регистрация
 
Silas
 Аватар для Silas
0 / 0 / 0
Регистрация: 13.09.2010
Сообщений: 14
28.04.2011, 14:23     Правильное деление #1
Вычислить.Х вещественное и натуральное N : Х/(1+X/(2+X/(3+X/(…/(N+X)…).Написать обычную функцию и рекурсию.Немогу разобраться с делением.

Вот наброски сделал.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream.h>
#include <vcl.h>
#pragma hdrstop
 
 
 
double func(int,double,int=1);
int main(){
    int N;
    double X,J,s;
    X=J;
    cout<<"Enter X: ";
    cin>>X;
    cout<<"Enter N: ";
    cin>>N;
    if(N<=0)
    cout<<"N dolzen bitj bolshe 0"<<endl;
    else
    {cout<<"Otvet - Rekursivnaya funkciya: "<<func(N,X)<<endl;
    for(int i=1;i<=N;i++)
     {s=X/(J+i);     X=s;
                        }    /*тут вообще засада,нужно как то так"(......(N+X/(N+X/.....)" и с конца пробывал,что то никак*/
    cout<<"Otvet - ne Rekursivnaya: " << s << endl;
    system("pause");
    return 0;
    }
}
double func(int n,double x,int N){
    return (N==n) ? N+x : x/(N+x/func(n,x,++N));} /* и рекурсия(не моя),что то неправильно работает,но незнаю почему.*/
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2011, 14:23     Правильное деление
Посмотрите здесь:

C++ правильное освобождение памяти
C++ Правильное оформление друж-х ф-й
Правильное применение функций C++
Правильное название файла C++
Правильное понимание C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
28.04.2011, 16:42     Правильное деление #2
Цитата Сообщение от Silas Посмотреть сообщение
C++
1
2
3
for(int i=1;i<=N;i++)
 {s=X/(J+i); X=s;
 }
C++
1
2
3
4
5
6
s = X;
for (int i = N; i > 0; i--)
{
   J = (double)i+s;
   s= X / J;
}
Как то так должно получиться.
Silas
 Аватар для Silas
0 / 0 / 0
Регистрация: 13.09.2010
Сообщений: 14
28.04.2011, 18:39  [ТС]     Правильное деление #3
Спасибо за помощь,работает.Но а с рекурсией то что не так?
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
29.04.2011, 01:52     Правильное деление #4
В рекурсии левый х/ лишний, правильно будет
C++
1
return (N == n)?N + x:N+x/func(n, x, ++N)
Silas
 Аватар для Silas
0 / 0 / 0
Регистрация: 13.09.2010
Сообщений: 14
04.05.2011, 15:11  [ТС]     Правильное деление #5
Цитата Сообщение от kazak Посмотреть сообщение
В рекурсии левый х/ лишний, правильно будет
C++
1
return (N == n)?N + x:N+x/func(n, x, ++N)
Нет,почему то не работает.Да и всё равно как то Х нужно поделить на полученый результат.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
04.05.2011, 15:24     Правильное деление #6
Поробуй так
C++
1
return (N==n) ? x : x/(N+func(n,x,++N));
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2011, 15:12     Правильное деление
Еще ссылки по теме:

Не правильное вычисление C++
Правильное swprintf, правильное wprintf ? C++
Правильное подключение хедеров C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Silas
 Аватар для Silas
0 / 0 / 0
Регистрация: 13.09.2010
Сообщений: 14
05.05.2011, 15:12  [ТС]     Правильное деление #7
Цитата Сообщение от kazak Посмотреть сообщение
Поробуй так
C++
1
return (N==n) ? x : x/(N+func(n,x,++N));
Нет,что то тоже не работает,я уже и не знаю что делать
Yandex
Объявления
05.05.2011, 15:12     Правильное деление
Ответ Создать тему
Опции темы

Текущее время: 00:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru