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

Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, - C++

Восстановить пароль Регистрация
 
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 11:02     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #1
Пусть v1=v2=0; v3=1,5; vi=((i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3)), i=4,5,..
Дано натуральное n (n>=4).Получить vn.*
Подскажите в чем ошибка,ведь результирующее число не должно быть в -39 степени.
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 <iostream>
#include <clocale>
 
using namespace std;
 
int main()
{  setlocale(LC_CTYPE,"Russian"); // установка русского языка
    int i,n;
    cout << "Введите n:";
    cin >> n;
    if(n>=4){
    cout << endl;
    float v[n];
    v[0]=0;v[1]=0;v[2]=1.5;
    for (i=3;i<n;i++){
       if (n>=4)
            {cout<<v[0]<<' '<<v[1]<<' '<<v[2]<<endl;
            v[i]=((i+1)/(i*i+1)*v[i-1]-v[i-2]*v[i-3]);
             cout<<i<<endl;
            }
       if (n-1==i)  cout << "V"<< n <<"=" << v[i];
     }  cout << endl;
         for (int j=0;j<n;j++)
        cout << v[j] <<' ';
    }else cout << "\aВнимание N>=4!";
  return 0;
}
Когда выставляешь параметр вывода fixed - выводит нули.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2013, 11:02     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5,
Посмотрите здесь:

C++ Пусть D - заштрихованная часть
C++ Пусть дано 100 целых чисел... .
Пусть дано натуральное число n C++
Пусть даны коррдинаты n точек на плоскости C++
C++ Пусть дана последовательность чисел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 11:17     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #2
Zinkutal, можно вывод посмотреть и при каком n?
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 12:12  [ТС]     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #3
при n=5 где-то 5.6846e-39, а при n=6 8.6765e-39
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 12:19     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #4
Zinkutal, так это машинный ноль. насколько я понял из кода, результат и должен равняться нулю?
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 12:32  [ТС]     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #5
проблема в том когда считаешь сам n(5)=0.32356
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 13:06     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #6
v1=v2=0; v3=1,5; vi=((i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3)), i=4,5,..

v4 = (4+1)/(4*4+1)*1.5 - 0*0 = 0,4411
v5 = (5+1)/(5*5+1)*0.4411 - 0*1.5 = 0,1017

у меня n(5) не совпадает с вашим. Если то что у меня получилось - правильно, то в программе нужно исправить:
C++
1
v[i]=((i+1.0+1.0)/((i+1.0)*(i+1.0)+1.0)*v[i-1]-v[i-2]*v[i-3]);
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
12.04.2013, 13:27     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #7
Цитата Сообщение от Zinkutal Посмотреть сообщение
при n=5 где-то 5.6846e-39, а при n=6 8.6765e-39
Что-то неправильно в формуле, такой результат никак не выйдет...
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 13:51  [ТС]     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #8
Должно быть так:
v4=0.1960784
v5=1.1769230
v6=0.1607489
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 13:58     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #9
C++
1
  v[i]=(i+1.0 + 1.0)/(((i+1.0)*(i+1.0)+1)*v[i-1])-v[i-2]*v[i-3];
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 13:59  [ТС]     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #10
Пересчитал через калькулятор вышли твои значения
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 14:01     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #11
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 <iostream>
#include <clocale>
 
using namespace std;
 
int main()
{  setlocale(LC_CTYPE,"Russian"); // установка русского языка
    int i,n;
    cout << "Введите n:";
    cin >> n;
    if(n>=4){
    cout << endl;
    float v[n];
    v[0]=0;v[1]=0;v[2]=1.5;
    for (i=3;i<n;i++){
       if (n>=4)
            {cout<<v[0]<<' '<<v[1]<<' '<<v[2]<<endl;
            v[i]=(i+1.0 + 1)/(((i+1.0)*(i+1.0)+1)*v[i-1])-v[i-2]*v[i-3];
             cout<<i<<endl;
            }
       if (n-1==i)  cout << "V"<< n <<"=" << v[i];
     }  cout << endl;
         for (int j=0;j<n;j++)
        cout << v[j] <<' ';
    }else cout << "\aВнимание N>=4!";
  return 0;
}
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 14:03  [ТС]     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #12
Почему I+1 в 1й части ф-лы?
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 14:05     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #13
потому что в постановке задачи v1=v2=0; v3=1,5; vi=((i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3)), i=4,5,.. i начинается с единицы в 1 части формулы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2013, 14:09     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5,
Еще ссылки по теме:

Пусть n - натуральное число C++
Пусть даны целое число n, символы s1,s2,.,sn C++
Пусть элементами круга является радиус C++

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

Или воспользуйтесь поиском по форуму:
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 14:09  [ТС]     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5, #14
Спасибо, теперь стало ясно в чем была ошибка.
Yandex
Объявления
12.04.2013, 14:09     Пусть v1=v2=0; v3=1,5; vi=(i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3), i=4,5,
Ответ Создать тему
Опции темы

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