Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2009, 00:36   #1
OXED
 
Регистрация: 22.06.2009
Сообщений: 6
По умолчанию вычисление суммы ряда с точностью

в цикле вычисляется сумма ряда,цикл должен считать сумму до тех пор пока число не окажется больше введенной точности
например :
точность = 0.0001 (можно просто указать кол-во цифр после запятой)
2.12
3.456
4.5656
5.32434 - больше точности сл. цикл обрывается

вот мой код:

Код:
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <stdio.h>
#include <iomanip.h>

void OXED16(){
float t,v,d,c;
float y;
int o,xn,xk,i,e;
clrscr();
cout<<"Начальное значение Х : ";
cin>>xn;
cout<<"Конечное значение Х : ";
cin>>xk;
cout<<"шаг : ";
cin>>d;
cout<<"точность : ";
cin>>e;
cout<<"  x   y"<<endl;

y=0;

for(xn;xn<xk+1;xn=xn+d){
o=y;
t=y-o;
if(t<e){
c=pow(-xn,2);
y=pow(2.73,c);
cout<<"  "<<xn<<"  "; 
cout<<y<<endl;}}
getch();
}
проблема в том что считает все подряд не обращая внимания на условие
P.S. cout<<setprecision(e)<<y<<endl; - не подходит
подскажите пожалуйста в чем проблема?

Последний раз редактировалось Stilet; 30.06.2009 в 08:24.
OXED вне форума Ответить с цитированием
Старый 29.06.2009, 00:41   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Код:
int o,xn,xk,i,e;
у вас эпсилон целое... и o
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 29.06.2009, 19:56   #3
OXED
 
Регистрация: 22.06.2009
Сообщений: 6
По умолчанию

поставлю вопрос по другому... как найти количество цифр в дробной части числа? или как найти дробную часть числа? т.е. если дано 2.345,то
колво цифр = 3,или дробная часть =0.345
OXED вне форума Ответить с цитированием
Старый 29.06.2009, 22:25   #4
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

тогда отвечу по-другому... если у вас e и o будут типа int, то кол-во цифр в дробной части числа будет = 0
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 29.06.2009, 23:45   #5
OXED
 
Регистрация: 22.06.2009
Сообщений: 6
По умолчанию

я попробовал сделать е и о типа floаt,условие все равно игнорируется
OXED вне форума Ответить с цитированием
Старый 30.06.2009, 06:56   #6
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

ну я не знаю, что вам по условию нужно сделать.. а в вашем коде разбираться... вы бы его хоть в теги засунули... что-то типа такого что ли
Код:
void OXED16(){
float t = 0,v,c,e,o = 0;
float y = 0;
int xn,xk,i,d;
cout<<"Начальное значение Х : ";
cin>>xn;
cout<<"Конечное значение Х : ";
cin>>xk;
cout<<"шаг : ";
cin>>d;
cout<<"точность : ";
cin>>e;
cout<<" x y"<<endl;

while ((xn<xk+1) && (t < e)) {
      xn += d;
      c=pow(xn,2);
      y=pow(2.73,c);
      o=y;
      t=y-o;
      cout<<" "<<xn<<" ";
      cout<<y<<endl;
}
getch();
}
Uguu~
__STDC__ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти сумму ряда с точностью e, если дан общий член этого ряда JiLiYa Общие вопросы C/C++ 2 18.02.2009 11:11
Задача на вычисление суммы ряда, Pascal die_hard Помощь студентам 9 07.12.2008 19:05