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

Написать программу с использованием циклов - C++

Восстановить пароль Регистрация
 
5oundtech
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 42
28.11.2013, 21:20     Написать программу с использованием циклов #1
Вычислить сумму 12 членов рекуррентной последовательности(вложения)
Для решения задачи описать рекурсивную функцию, а также составить программу с использованием цикла. Сравнить две программы.
Готова программа с использованием рекурсивной функции:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <iostream>
using namespace std;
 
long double function(int N)
{
    if ( N < 2 ) return 1;
    else
return ( 0.7*function(N-1) + 1.1*function(N-2) );
}
 
int main()
{
    long double summ = 0.0;
    for(int i = 2; i <= 14; i++)
        summ += function(i);
    cout << summ;
 
    cin.get();
    return 0;
}
Помогите пожалуйста сделать с использованием циклов.
Миниатюры
Написать программу с использованием циклов  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 21:20     Написать программу с использованием циклов
Посмотрите здесь:

C++ Написать программу с использованием функций
№1 Написать программу, вычисляющую выражение с использованием циклов C++
№2 Написать программу, вычисляющую выражение с использованием циклов C++
C++ №3 Написать программу, вычисляющую выражение с использованием циклов
C++ Написать программу с использованием функции cctype
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
28.11.2013, 21:27     Написать программу с использованием циклов #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
long double function(int N)
{
    double xkm1=1.,xkm2=1;
    double s=2.;
    for(int k=2;k<=N;k++)
    {
       double t=xkm2;
       xkm2=0.7*xkm1+1.1*xkm2;
       xkm1=t;
       s+=xkm2;
    }
    return s;
}
5oundtech
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 42
28.11.2013, 21:36  [ТС]     Написать программу с использованием циклов #3
Цитата Сообщение от zss Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
long double function(int N)
{
    double xkm1=1.,xkm2=1;
    double s=2.;
    for(int k=2;k<=N;k++)
    {
       double t=xkm2;
       xkm2=0.7*xkm1+1.1*xkm2;
       xkm1=t;
       s+=xkm2;
    }
    return s;
}
Спасибо большое за ответ. Но не могли бы вы скинуть программу целиком, т.к я не могу её нормально скомпилировать.
Сколько не пытаюсь вывести,даёт пустой вывод.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
28.11.2013, 21:40     Написать программу с использованием циклов #4
Цитата Сообщение от 5oundtech Посмотреть сообщение
я не могу её нормально скомпилировать.
C++
1
2
3
4
5
6
int main()
{
  cout<<function(12);
  cin.get();
  return 0;
}
5oundtech
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 42
28.11.2013, 21:48  [ТС]     Написать программу с использованием циклов #5
Цитата Сообщение от zss Посмотреть сообщение
C++
1
2
3
4
5
6
int main()
{
  cout<<function(12);
  cin.get();
  return 0;
}
Почему то ответы разняться

Добавлено через 6 минут
В моей(с рек.функцией) 482.864
А в вашей 394.863
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
28.11.2013, 22:01     Написать программу с использованием циклов #6
Ваша рекуррентная функция неправильная
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
30
31
32
#include <iostream>
using namespace std;
long double Recfunction(double xkm1,double xkm2,int N)
{
    if ( N <= 2 ) 
        return 2;
    else
    {
        double s=0.7*xkm1+1.1*xkm2;
        return s+Recfunction(xkm2,s,N-1);
    }
}
long double function(int N)
{
    double xkm1=1.,xkm2=1;
    double s=2.;
    for(int k=3;k<=N;k++)
    {
       double t=xkm2;
       xkm2=0.7*xkm1+1.1*xkm2;
       xkm1=t;
       s+=xkm2;
    }
    return s;
}
int main()
{
  cout<<Recfunction(1,1,12)<<endl;
  cout<<function(12)<<endl;
  cin.get();
  return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2013, 22:18     Написать программу с использованием циклов
Еще ссылки по теме:

Конкурс! Написать программу из десяти циклов. C++
C++ Составить и отладить программу с использованием вложенных циклов
Написать программу с использованием функции и с использованием макроса C++

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

Или воспользуйтесь поиском по форуму:
5oundtech
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 42
28.11.2013, 22:18  [ТС]     Написать программу с использованием циклов #7
zss, Ещё раз, большое вам спасибо!
Yandex
Объявления
28.11.2013, 22:18     Написать программу с использованием циклов
Ответ Создать тему
Опции темы

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