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

Совсем небольшая ошибка - C++

Восстановить пароль Регистрация
 
Shevva
 Аватар для Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
22.12.2009, 17:34     Совсем небольшая ошибка #1
Помогите найти небольшую ошибку в проге, вот её код
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
#include<iostream>
#include<math.h>
using namespace std;
float Fact(int n)
{ 
if (n==0) return 1;
 
else
 return n*Fact(n-1);
}
 
int main()
{double t, I, x;
int v,  i;
cout<<"Vvedite v "<<endl;
cin>>v;
cout<<"Vvedite x "<<endl;
cin>>x;
cout<<"Vvedite t "<<endl;
cin>>t;
 
for(int i=0;i<=t;i++)
 
I=(pow(( x/2),v))*(((pow((pow((-x),2)/4))),i))/(Fact(i)*Fact(i+v));
cout<<"I= "<<I<<endl;       
        system("pause");
        return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2009, 17:34     Совсем небольшая ошибка
Посмотрите здесь:

небольшая функция на c++ C++
Небольшая праблемка C++
небольшая ошибка в чем дело? C++
C++ Не совсем змейка
C++ Небольшая сложность
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
22.12.2009, 17:40     Совсем небольшая ошибка #2
Замени 24 строчку на
C++
1
I=pow(x/2,v)*(pow((pow(-x,2)/4),i))/(Fact(i)*Fact(i+v));
Shevva
 Аватар для Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
22.12.2009, 17:43  [ТС]     Совсем небольшая ошибка #3
Спасибо, за ответ, вроде считает правильно, а ты не мог бы подсказать, как бы немного переделать эту прогу, чтоб при больших параметрах, она выдавала не научную форму записи, а обычную, тоисть выписывала полный ответ?
Darky
Быдлокодер
 Аватар для Darky
507 / 294 / 45
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
22.12.2009, 17:45     Совсем небольшая ошибка #4
Как понять полный ответ? длинный чтоли?
Ну разве что так
C++
1
long double t, I, x;
Shevva
 Аватар для Shevva
17 / 17 / 0
Регистрация: 13.09.2009
Сообщений: 140
22.12.2009, 18:26  [ТС]     Совсем небольшая ошибка #5
Нет, я слышал, что можно как-то через мантису, но я не совсем понимаю как?

Добавлено через 1 минуту
Хотя long, может немного и улучшить ситуацию.

Добавлено через 37 минут
Подскажите, кто нибудь, как зделать так, что-бы можна было считать числа побольше( в данном случае)?
Том Ардер
Модератор
 Аватар для Том Ардер
3619 / 2238 / 271
Регистрация: 15.06.2009
Сообщений: 3,921
22.12.2009, 19:13     Совсем небольшая ошибка #6
Цитата Сообщение от Shevva Посмотреть сообщение
вроде считает правильно
А как определил, что правильно?

В 24-й строке записано слагаемое разложения в ряд функции Бесселя первого рода целого порядка. А где сумма ряда?
Да и запись этого выражения с ошибкой.
И самое главное: и целые степени, и факториал в подобных вычислениях не нужны. Почему - я уже несколько раз отвечал на этот вопрос. Поиск в форуме рулит.
Yandex
Объявления
22.12.2009, 19:13     Совсем небольшая ошибка
Ответ Создать тему
Опции темы

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