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

Создать функцию, которая вычисляет член рекуррентной последовательности - C++

Восстановить пароль Регистрация
 
viper[ua]
 Аватар для viper[ua]
1 / 1 / 0
Регистрация: 15.12.2010
Сообщений: 48
20.12.2012, 00:10     Создать функцию, которая вычисляет член рекуррентной последовательности #1
Создать функцию, которая вычисляет n-й член рекуррентной последовательности, заданной ниже. При выполнении задания рекомендуется использовать рекурсию.
U1=2
U2=0.8
Uk=sin(1.5k+Uk-1)+0.25Uk-2

Помогите пожалуйста решить задачу. Я не понимаю как вписать такую формулу в мою задачу, так как с индексами в С++ не стыкался.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2012, 00:10     Создать функцию, которая вычисляет член рекуррентной последовательности
Посмотрите здесь:

Написать функцию, которая вычисляет а в b степени C++
Создать функцию, которая вычисляет значения a-tgb/b-tga C++
C++ Напишите функцию, которая вычисляет сигнум-функцию числа
C++ Написать функцию, которая вычисляет объем и площадь поверхности параллелепипеда, описать функцию IsSquare(K)
Напишите программу, которая по заданной входной последовательности вычисляет ее медиану C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ArtMaster
26 / 24 / 3
Регистрация: 27.10.2012
Сообщений: 74
20.12.2012, 00:16     Создать функцию, которая вычисляет член рекуррентной последовательности #2
C++
1
2
3
4
5
6
int n=100;
double u[n];
u[0]=2;
u[1]=0.8;
for(int i=2;i<n;i++)
    u[i]=sin(1.5 *i + u[i-1])+0.25*u[i-2];
viper[ua]
 Аватар для viper[ua]
1 / 1 / 0
Регистрация: 15.12.2010
Сообщений: 48
20.12.2012, 00:56  [ТС]     Создать функцию, которая вычисляет член рекуррентной последовательности #3
Еще вопрос, а как вывести функцию u[i]?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include "math.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int n=100;
double u[100];
u[0]=2;
u[1]=0.8;
    for(int i=2;i<n;i++)
    u[i] = sin(1.5 *i + u[i-1])+0.25*u[i-2];
    return 0;
}
Добавлено через 20 минут
Насколько я понял, эта функция действует в границе for ... ; и если выводить после закрытия, оно просто ее не видит.
vua72
410 / 410 / 83
Регистрация: 28.11.2010
Сообщений: 1,158
20.12.2012, 16:32     Создать функцию, которая вычисляет член рекуррентной последовательности #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
float sum(int k)
{
//U1=2
//U2=0.8
//Uk=sin(1.5k+Uk-1)+0.25Uk-2
    if (k==1) return 2.0;
    else if (k==2) return 0.8;
    else return (sin(1.5*k+sum(k-1))+0.25*sum(k-2));
}
int main()
{
    int k=0;
    //scanf("%d", &k);
    while (++k<10)
        printf("sum=%lf.  \n", sum(k));
    printf ("k=3, sum=%lf",sin(1.5*3+0.8)+0.25*2 );
    return 0;
}
Yandex
Объявления
20.12.2012, 16:32     Создать функцию, которая вычисляет член рекуррентной последовательности
Ответ Создать тему
Опции темы

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