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

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

Войти
Регистрация
Восстановить пароль
 
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
#1

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

12.04.2013, 11:02. Просмотров 1032. Ответов 13
Метки нет (Все метки)

Пусть 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 - выводит нули.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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++):

Пусть a, b и c – переменные целого типа (integer). Пусть a > 0 (то есть ее значение не превышает 32767) - Turbo Pascal
Чему будет равна переменная b после выполнения следующего фрагмента программы? Приведите несколько примеров ее работы (что будет получено...

Пусть сгенерируется 10 случайных чисел в диапозоне от -10 до +10 и пусть находится сумма положительных чисел - PascalABC.NET
Есть задача &quot;пусть сгенерируется 10 случайных чисел в диапозоне от -10 до +10 и пусть находится сумма положительных чисел&quot;

Пусть n - натуральное число и пусть n!! означает 1*3*5*...*n для нечетного n и 2*4*...*n для четного n. Вычислить n!! - Pascal
Пусть n - натуральное число и пусть n!! означает 1*3*5*...*n для нечетного n и 2*4*...*n для четного n. Вычислить n!! Program...

Пусть a, b и c – переменные целого типа (integer). Пусть a > 0 (то есть ее значение не превышает 32767) - Turbo Pascal
Чему будет равна переменная b после выполнения следующего фрагмента программы? Приведите несколько примеров ее работы (что будет получено...

Пусть сгенерируется 10 случайных чисел в диапозоне от -10 до +10 и пусть находится сумма положительных чисел - PascalABC.NET
Есть задача &quot;пусть сгенерируется 10 случайных чисел в диапозоне от -10 до +10 и пусть находится сумма положительных чисел&quot;

Пусть n - натуральное число и пусть n!! означает 1*3*5*...*n для нечетного n и 2*4*...*n для четного n. Вычислить n!! - Pascal
Пусть n - натуральное число и пусть n!! означает 1*3*5*...*n для нечетного n и 2*4*...*n для четного n. Вычислить n!! Program...

Пусть a, b и c – переменные целого типа (integer). Пусть a > 0 (то есть ее значение не превышает 32767) - Turbo Pascal
Чему будет равна переменная b после выполнения следующего фрагмента программы? Приведите несколько примеров ее работы (что будет получено...

Пусть сгенерируется 10 случайных чисел в диапозоне от -10 до +10 и пусть находится сумма положительных чисел - PascalABC.NET
Есть задача &quot;пусть сгенерируется 10 случайных чисел в диапозоне от -10 до +10 и пусть находится сумма положительных чисел&quot;

Пусть n - натуральное число и пусть n!! означает 1*3*5*...*n для нечетного n и 2*4*...*n для четного n. Вычислить n!! - Pascal
Пусть n - натуральное число и пусть n!! означает 1*3*5*...*n для нечетного n и 2*4*...*n для четного n. Вычислить n!! Program...

Пусть a, b и c – переменные целого типа (integer). Пусть a > 0 (то есть ее значение не превышает 32767) - Turbo Pascal
Чему будет равна переменная b после выполнения следующего фрагмента программы? Приведите несколько примеров ее работы (что будет получено...

Пусть сгенерируется 10 случайных чисел в диапозоне от -10 до +10 и пусть находится сумма положительных чисел - PascalABC.NET
Есть задача &quot;пусть сгенерируется 10 случайных чисел в диапозоне от -10 до +10 и пусть находится сумма положительных чисел&quot;

Пусть n - натуральное число и пусть n!! означает 1*3*5*...*n для нечетного n и 2*4*...*n для четного n. Вычислить n!! - Pascal
Пусть n - натуральное число и пусть n!! означает 1*3*5*...*n для нечетного n и 2*4*...*n для четного n. Вычислить n!! Program...

Пусть a, b и c – переменные целого типа (integer). Пусть a > 0 (то есть ее значение не превышает 32767) - Turbo Pascal
Чему будет равна переменная b после выполнения следующего фрагмента программы? Приведите несколько примеров ее работы (что будет получено...

Пусть сгенерируется 10 случайных чисел в диапозоне от -10 до +10 и пусть находится сумма положительных чисел - PascalABC.NET
Есть задача &quot;пусть сгенерируется 10 случайных чисел в диапозоне от -10 до +10 и пусть находится сумма положительных чисел&quot;

Пусть n - натуральное число и пусть n!! означает 1*3*5*...*n для нечетного n и 2*4*...*n для четного n. Вычислить n!! - Pascal
Пусть n - натуральное число и пусть n!! означает 1*3*5*...*n для нечетного n и 2*4*...*n для четного n. Вычислить n!! Program...


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

Или воспользуйтесь поиском по форуму:
13
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 11:17 #2
Zinkutal, можно вывод посмотреть и при каком n?
0
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 12:12  [ТС] #3
при n=5 где-то 5.6846e-39, а при n=6 8.6765e-39
0
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 12:19 #4
Zinkutal, так это машинный ноль. насколько я понял из кода, результат и должен равняться нулю?
0
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 12:32  [ТС] #5
проблема в том когда считаешь сам n(5)=0.32356
0
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 13:06 #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]);
0
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
12.04.2013, 13:27 #7
Цитата Сообщение от Zinkutal Посмотреть сообщение
при n=5 где-то 5.6846e-39, а при n=6 8.6765e-39
Что-то неправильно в формуле, такой результат никак не выйдет...
0
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 13:51  [ТС] #8
Должно быть так:
v4=0.1960784
v5=1.1769230
v6=0.1607489
0
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 13:58 #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];
0
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 13:59  [ТС] #10
Пересчитал через калькулятор вышли твои значения
0
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 14:01 #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;
}
0
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 14:03  [ТС] #12
Почему I+1 в 1й части ф-лы?
0
sl_k
12 / 12 / 0
Регистрация: 15.04.2010
Сообщений: 61
12.04.2013, 14:05 #13
потому что в постановке задачи v1=v2=0; v3=1,5; vi=((i+1)/(i*i+1)*(vi-1)-(vi-2)*(vi-3)), i=4,5,.. i начинается с единицы в 1 части формулы
1
Zinkutal
1 / 1 / 0
Регистрация: 30.11.2012
Сообщений: 37
12.04.2013, 14:09  [ТС] #14
Спасибо, теперь стало ясно в чем была ошибка.
0
12.04.2013, 14:09
Ответ Создать тему
Опции темы

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