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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
5oundtech
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 42
#1

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

28.11.2013, 21:20. Просмотров 443. Ответов 6
Метки нет (Все метки)

Вычислить сумму 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;
}
Помогите пожалуйста сделать с использованием циклов.
0
Миниатюры
Написать программу с использованием циклов  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 21:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Написать программу с использованием циклов (C++):

№1 Написать программу, вычисляющую выражение с использованием циклов - C++
Написать программу, вычисляющую выражение с использованием циклов. Программа, которая: a. запрашивает какую из приведенных в...

№3 Написать программу, вычисляющую выражение с использованием циклов - C++
Написать программу, вычисляющую выражение с использованием циклов. Программа, которая: a. запрашивает какую из приведенных в...

№2 Написать программу, вычисляющую выражение с использованием циклов - C++
Написать программу, вычисляющую выражение с использованием циклов. Программа, которая: a. запрашивает какую из приведенных в...

Составить и отладить программу с использованием вложенных циклов - C++
Вычислить функцию f(x,a)=ln(3x)+\sqrt{\frac{a^3}{2x}} при x=0.3,0.4,...,0.9 и a=2,3,...,6 с точностью 4 знаков после десятичной точки ...

Написать программу из циклов - C++
Условие: Вводится последовательность из n целых чисел. Определить количество элементов в наиболее длинной подпоследовательности подряд...

Конкурс! Написать программу из десяти циклов. - C++
Напишите плиз любую полезную программу на с++, из 10 циклов желательно,ато идея никак не приходит про что писать(((Заранее ОГРОМНОЕ...

6
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,377
Завершенные тесты: 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;
}
1
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;
}
Спасибо большое за ответ. Но не могли бы вы скинуть программу целиком, т.к я не могу её нормально скомпилировать.
Сколько не пытаюсь вывести,даёт пустой вывод.
0
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,377
Завершенные тесты: 1
28.11.2013, 21:40 #4
Цитата Сообщение от 5oundtech Посмотреть сообщение
я не могу её нормально скомпилировать.
C++
1
2
3
4
5
6
int main()
{
  cout<<function(12);
  cin.get();
  return 0;
}
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
0
zss
Модератор
Эксперт С++
6403 / 5969 / 1945
Регистрация: 18.12.2011
Сообщений: 15,377
Завершенные тесты: 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;
}
1
5oundtech
0 / 0 / 0
Регистрация: 11.11.2013
Сообщений: 42
28.11.2013, 22:18  [ТС] #7
zss, Ещё раз, большое вам спасибо!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2013, 22:18
Привет! Вот еще темы с ответами:

Написать программу с использованием функции и с использованием макроса - C++
Составить две программы вычисления функции F и сравнить результаты ***** - Используя объявления макроса; ***** - Используя обращение к...

Написать программу с использованием функций - C++
При решении задачи должны быть использованы: a) перегрузка функций, b) задание значений по умолчанию (задать свои значения), ...

Написать программу с использованием функции - C++
В массиве из 15 чисел найти наибольший элемент и его индекс в массиве.

Написать программу с использованием функции cctype - C++
Программа, которая читает клавиатурный ввод до символа @ и повторяет его, за исключением десятичных цифр, преобразуя каждую букву...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
28.11.2013, 22:18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru