Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.79/58: Рейтинг темы: голосов - 58, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 23

Последовательность задана рекуррентным соотношением. Вычислить заданный элемент последовательности

08.02.2012, 08:39. Показов 12053. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
проверте код пожалуйста вроде не точно вычисляет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
#include<conio.h>
using namespace std;
int main(){
    int i,n;
    float v[100];
    v[0]=0;v[1]=0;v[2]=1.5;
    cout<<"vvedite n bol'we 3"<<endl;
    cin>>n;
    for (i=0;i<n;i++)
    if (i>2)
    v[i]=((i+2)/(((((i+1)*(i+1))+1)*v[i-1])-(v[i-2]*v[i-3])));
    cout<<"v[n]="<<v[i];
    getch();
    return 0;
}
 Комментарий модератора 
Используйте теги форматирования кода!
Миниатюры
Последовательность задана рекуррентным соотношением. Вычислить заданный элемент последовательности  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.02.2012, 08:39
Ответы с готовыми решениями:

Вывести элементы последовательности заданной рекуррентным соотношением
Дано целое число N (&gt; 0). Последовательность вещественных чисел Ak определяется следующим образом: A0 = 2, Ak = 2 + 1/Ak-1, k = 1, 2, ....

Найти все трехзначные члены последовательности, определенной рекуррентным соотношением
Найти все трехзначные члены последовательности, определенной рекуррентным соотношением F0 = 5, F1 = 1, F2 = 1, Fn+3 = Fn+2 + Fn+l -...

Вычислить значение квадратного корня рекуррентным соотношением
С клавиатуры ввести значение действительного числа x. Вычислить значение квадратного корня из этого числа по рекуррентным соотношением: ...

28
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
08.02.2012, 10:04
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
#include <stdio.h>
#include <stdlib.h>
 
#define MAX_INDEX 100
 
int main(void)
{
    double sequence[MAX_INDEX] = {0, 0, 1.5};
    int n, i, retval = 0;
 
    printf("Input the index of the item (1 <= N <= %d): ", MAX_INDEX);
    scanf("%d", &n);
 
    if(n < 1 || n > MAX_INDEX)
    {
    fprintf(stderr, "N must be in range [1; %d]; given: %d\n", MAX_INDEX, n);
    retval = 1;
    }
    else
    {
    for(i = 4; i <= n; ++i)
        sequence[i - 1] = ((double) (i + 1)) / (i * i + 1) * sequence[i - 2] - sequence[i - 3] * sequence[i - 4];
    printf("%dth number in the sequence: %.3g\n", n, sequence[n - 1]);
    }
 
    exit(retval);
}
Но, в принципе, можно обойтись и без массива и без ограничений на номер элемента последовательности
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.02.2012, 13:08
Oksana), сделайте по коду по этой ссылке https://www.cyberforum.ru/faq/... ost2449607
1
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
08.02.2012, 13:11
-=ЮрА=-, разница в том, что 1) сумму считать не надо, 2) последовательность задана рекуррентным соотношением
1
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.02.2012, 13:43
Впрочем, задание немножко нестандартное как для рядов, поэтому привожу код.
(программа ниже находит члены ряда с задаваемой пользователем точностью разложения)
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
33
34
35
36
37
#include <iostream>
#include <cmath>
using namespace std;
 
double v_k(double * v, long k)
{
    double * ptr;
    double * add;
    if(2 < k)//Âîò òàê äèíàìè÷åñêè äîáàâëÿåì ïî ýëåìåíòó
    {
        add = new double[2];
        ptr = &v[k - 1];
        add[0] = v[k - 1];//Òàê ñîõðàíÿåì ïîñëåäíèé ýëåìåíò v
        ptr = add;//Ðàñøèðÿåì ìàññèâ v
    }
    v[k] = (k + 1)*v[k - 1]/(1 + pow(k,2)) - v[k - 2]*v[k - 3];
    return v[k];
}
 
int main()
{
    double e, v_i;
    double * v = new double[3];
    //Ïîìíèì ÷òî èíäåêñàöèÿ â ìàññèâàõ èä¸ò ñ íóëÿ
    v[0] = (v[1] = 0);
    v[2] = 1.5;
    long i = 3;
    cout<<"Enter error : ";cin>>e;
    while(e < fabs(v_i = v_k(v, i)))
    {
        cout<<"i = "<<i + 1<<" v[i] = "<<v_i<<endl;
        i = i + 1;
    }
    system("pause");
    delete [] v;//×èñòèì ïàìÿòü
    return 0;
}
Миниатюры
Последовательность задана рекуррентным соотношением. Вычислить заданный элемент последовательности  
0
08.02.2012, 13:48

Не по теме:

PS:Nameless One, логичней находить разложение в ряд с определённой точностью, а не по числу элементов, т.к в некоторых рядах нужно просуммировать элементов 200 прежде чем достигнем точности разложения хотя-бы один процент.
Впрочем ТС кром рекуррентной формулы ничего не написала, поэтому возможно ей именно по задаваемому числу элементов нужно находить(т.е. реализовывать более лёгкую задачу чем расммотрена мной выше)

0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
08.02.2012, 13:51
-=ЮрА=-, здесь ряд не задан (и тем более никаких разложений нет), а ТС нужно находить не сумму, а n-ный член последовательности
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.02.2012, 13:53
Nameless One, без обид - у меня к тебе замечание по твоему коду - почему взял 100 элементов а не 200 или 10???
Цитата Сообщение от Nameless One Посмотреть сообщение
#define MAX_INDEX 100
Думаю лучше такие задания делать с динамическим выделением памяти, хотя это дело вкуса а также требований по сложности предъявляемым к коду....

Добавлено через 1 минуту
Цитата Сообщение от Nameless One Посмотреть сообщение
здесь ряд не задан
- а что такое по твоему последовательность причём связанных элементов???
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
08.02.2012, 13:54
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
без обид - у меня к тебе замечание по твоему коду - почему взял 100 элементов а не 200 или 10???
потому, что так было в коде ТС, которая попросила сказать, что в нем неправильно

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Думаю лучше такие задания делать с динамическим выделением памяти, хотя это дело вкуса а также требований по сложности предъявляемым к коду....
там вообще массив не нужен — нужно использовать только три переменных для хранения трех последних вычисленных значений. Что я уже говорил:

Цитата Сообщение от Nameless One Посмотреть сообщение
Но, в принципе, можно обойтись и без массива и без ограничений на номер элемента последовательности
0
08.02.2012, 13:55

Не по теме:

Цитата Сообщение от Nameless One Посмотреть сообщение
здесь ряд не задан (и тем более никаких разложений нет)
https://www.cyberforum.ru/faq/... ost2449607 не хочешь FAQ нагугли определение ряда...
И да, судя по тегам ТС ей нужно именно в плюсах а не Си:)

0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
08.02.2012, 13:56
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- а что такое по твоему последовательность причём связанных элементов???
последовательность — она и в Африке последовательность. А ряд — это сумма
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.02.2012, 13:57
Цитата Сообщение от Nameless One Посмотреть сообщение
нужно использовать только три переменных для хранения трех последних вычисленных значений
- и где это написано, м.б витало в воздухе а я не заметил???Предлагаю отложить наш спор до возвращения ТС в топик...
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
08.02.2012, 13:57
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
не хочешь FAQ нагугли определение ряда...
ты сам-то хоть свой FAQ почитай, и скажи мне, где я не прав
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
08.02.2012, 14:00
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
и где это написано, м.б витало в воздухе а я не заметил
это определяется Здравым Смыслом ©
Зачем хранить 100 (200, 300, ...) переменных для вычисления значения элемента последовательности, если можно хранить всего 3?
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.02.2012, 14:10
Цитата Сообщение от Nameless One Посмотреть сообщение
А ряд — это сумма
- ряд это числовая последовательность, а СУММА ряда это сумма ряда, не путай понятия

http://ru.wikipedia.org/wiki/Числовой_ряд чёрным по белому написано
Числовой ряд — это числовая последовательность, рассматриваемая вместе с другой последовательностью, которая называется последовательностью частичных сумм (ряда).

Добавлено через 2 минуты
Nameless One, ряд это 1,2,3,4,5,6,7...
А сумма ряда - это 1+2+3+4+5+6... понятия переплетены и тесно связаны вот и путают их люди. Можно сказать что целые числа - это числовой ряд, и никто не просит находить их сумму...

Добавлено через 5 минут
Nameless One,
http://ru.wikipedia.org/wiki/Последовательность
В математике рассматривается множество различных последовательностей:
числовые последовательности;
временные ряды как числовой, так и не числовой природы;
последовательности элементов метрического пространства
последовательности элементов функционального пространства
последовательности состояний систем управления и автоматов.
Просто тебя приучили под рядом понимать сумму, а не последовательность с определёнными свойствами, вот и рубишь сплеча...

Добавлено через 2 минуты

Не по теме:

PS: FAQ я писал сам, так что в курсе что там написано...

0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
08.02.2012, 14:13
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
ряд это 1,2,3,4,5,6,7...
это как раз-таки числовая последовательность. Ты бы лучше вместо русскоязычной википедии почитал, к примеру, Фихтенгольца, второй том
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.02.2012, 14:23
Цитата Сообщение от Nameless One Посмотреть сообщение
это как раз-таки числовая последовательность.
Nameless One, а числовая последовательность для которой выполняется условия
https://www.cyberforum.ru/cgi-bin/latex.cgi?\lim_{n\rightarrow 0}{a}_{n} = 0
https://www.cyberforum.ru/cgi-bin/latex.cgi?\lim_{n\rightarrow 0}{S}_{n} = S
называется рядом, для рядов ещё куча теории, кстати геометрическая прогрессия тоже подвид ряда (по памяти расходящегося). Давай дождёмся ТС узнаем что ей надо а не будем спорить причём как мне кажется зря...
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
08.02.2012, 15:10
-=ЮрА=-, это не определение ряда; все, что ты приводишь — это частные случаи и упрощения
0
Автор FAQ
 Аватар для -=ЮрА=-
6614 / 4256 / 401
Регистрация: 08.08.2009
Сообщений: 10,325
Записей в блоге: 24
08.02.2012, 15:20
Nameless One, ряд есть числовая последовательность элементов для которых выполняются приведенные мной выше условия. Если условия(пределы) не существуют то данная числовая последовательность не является рядом. Если не различаем понятия сумма ряда и числовой ряд, это уже не мои проблемы - значит неверно трактуешь литературу, либо преподаватель у тебя был плохой!!!

Цитата Сообщение от Nameless One Посмотреть сообщение
-=ЮрА=-, это не определение ряда; все, что ты приводишь — это частные случаи и упрощения
- это не более чем твои слова, давай закончим!
Ещё раз сылка в 15-й пост
0
08.02.2012, 15:24
 Комментарий модератора 
Давайте заканчивать оффтоп. Можно же об этом и в личке поговорить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.02.2012, 15:24
Помогаю со студенческими работами здесь

Вычислить сумму, общий член задан рекуррентным соотношением
\sum_{k=1}^{n}\frac{(-1)^{k+1}}{k(k+1)} Попытался составить рекуррентную формулу Y_k=Y_{k-1} \cdot \frac{k-1}{k+1} а...

Задание с рекуррентным соотношением
В задании нужно найти сумму ряда. При решении использовать только рекуррентные соотношения и с++. Ряд загружен картинкой. Заранее...

Вычисление суммы ряда с рекуррентным соотношением
Доброго времени суток. Так уж сложилось, что одна из лабораторных работ потрепала нервишки нашей группе. Все к чему мне удалось прийти, это...

Задачка по рекуррентным соотношениям: вычислить первые n элементов последовательности
Доброго вам. Помогите, пожалуйста, с задачкой. Нужно вычислить первые n элементов вот такой последовательности b_{1}=1,...

Задана произвольная последовательность, все ли элементы последовательности не равны числу X
Требуется написать программу по данному условию: Задана произвольная последовательность, все ли элементы последовательности не равны...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru