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

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

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

НАПИСАЛ ПРОГРАММУ! выдает DOMAIN ERROR !хотя считает! - C++

09.06.2010, 02:49. Просмотров 461. Ответов 6
Метки нет (Все метки)

Я в С++ вообще только седня начал разбираться) с Дельфей как то не сложно все! а тут тупняк!(
вот написал программу для такого задания:
типа дано действительное число у найти выражение=(1,7*t(0.25)+2*t(y+1))/(6-t(y^2-1)) если
t(x)=((сумма к=0 до 10 ((x^(2*k+1))/((2*k+1)!))/((сумма к=0 до 10 ((x^(2*k))/((2*k)!))
я программу написал! но он выдает вот этот Domain ERROR! и значение итога не правильное! -4!!!
ребята выручайте! что у меня не правильно! заранее СПАСИБО!

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// laba15.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <math.h>
#include <iostream>
#include <clocale>
 
double fact(int n)
{
int i=1;
double result=1;
  while (i<n)
{
 i++;
 result=result*i;
}
  return result;
}
 
using namespace std;
int summa(int x1)
{
 double s,k;
 s=0;
 for (int k=0; k<= 10;++k)
 {
 s=s+pow(x1,(2*k+1))/fact(2*k+1);
 return s;
 }
 }
 
int summa1(int x2)
{
 double s1,k1;
 s1=0;
 for (int k1=0; k1<= 10;++k1)
 {
 s1=s1+pow(x2,(2*k1))/fact(2*k1);
 return s1;
 }
 }
 
int main(int argc, char* argv[])
{
    double t0,t1,t2,itog,y;
    {
        y=3;
        t0=summa(0.25)/summa1(0.25);
    t1=summa(y+1)/summa1(y+1);
    t2=summa(y*y-1)/summa1(y*y-1);
    itog=(1.7*t0+2*t1)/(6-t2);
    }
    printf("Itog=%lf\n",itog);
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
09.06.2010, 05:42     НАПИСАЛ ПРОГРАММУ! выдает DOMAIN ERROR !хотя считает! #2
C++
1
2
3
4
5
6
7
8
9
10
int summa(int x1)
{
 double s,k;
 s=0;
 for (int k=0; k<= 10;++k)
 {
 s=s+pow(x1,(2*k+1))/fact(2*k+1);
 return s;
 }
 }
скобка не там
santi90
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 62
09.06.2010, 09:05  [ТС]     НАПИСАЛ ПРОГРАММУ! выдает DOMAIN ERROR !хотя считает! #3
Спасибо) а так все должно работать чисто теоретически?

Добавлено через 5 минут
извини! а где ее надо поставить? чет не понял!(
Mr.X
Эксперт С++
 Аватар для Mr.X
3021 / 1677 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
09.06.2010, 10:38     НАПИСАЛ ПРОГРАММУ! выдает DOMAIN ERROR !хотя считает! #4
Вот так работает:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//Дано действительное число у найти выражение 
//itog = (1,7 * t(0.25) + 2 * t(y + 1)) / (6 - t(y^2 - 1)) 
//если
//t(x)=((сумма к=0 до 10 ((x^(2*k+1))/((2*k+1)!))/((сумма к=0 до 10 ((x^(2*k))/((2*k)!))
#include "stdafx.h"
#include <math.h>
#include <iostream>
#include <clocale>
 
double fact(int n)
{
    int i = 1;
    double result = 1;
    while (i < n)
    {
        i++;
        result = result * i;
    }
    return result;
}
 
using namespace std;
//int summa(int x1)
double summa(double x1)
{
    //double s, k;
    double s;
    s = 0;
    for(int k = 0; k <= 10; ++k)
    {
        s = s + pow(x1, (2 * k + 1)) / fact(2 * k + 1);
        return s;
    }
}
 
//int summa1(int x2)
double summa1(double x2)
{
    double s1, k1;
    s1 = 0;
    for(int k1 = 0; k1 <= 10; ++k1)
    {
        s1 = s1 + pow(x2, (2 * k1)) / fact(2*k1);
        return s1;
    }
}
 
int main(int argc, char* argv[])
{
    double t0, t1, t2, itog, y;
    {
        y = 3;
        t0    = summa(0.25)   / summa1(0.25);
        t1    = summa(y+1)    / summa1(y+1);
        t2    = summa(y*y-1 ) / summa1(y*y-1);
        itog  = (1.7*t0+2*t1) / (6-t2);
                                       
                                       
    }
    printf("Itog=%lf\n",itog);
    return 0;
}
santi90
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 62
09.06.2010, 23:34  [ТС]     НАПИСАЛ ПРОГРАММУ! выдает DOMAIN ERROR !хотя считает! #5
Все работает! -спасибо что запарились помогли)
сегодня зачет получил!)
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
10.06.2010, 04:39     НАПИСАЛ ПРОГРАММУ! выдает DOMAIN ERROR !хотя считает! #6
скобка всё равно не там

C++
1
2
3
4
5
6
7
8
9
10
11
int summa(int x1)
{
    double s,k;
    
    s=0;
    for (int k=0; k<= 10;++k) {
        s=s+pow(x1,(2*k+1))/fact(2*k+1);
    }
    
    return s;
}
C++
1
2
3
4
5
6
7
8
9
10
11
double summa(int x1)
{
    double s;
    
    s = 0.0;
    
    for (int k = 0; k <= 10; k++)
        s += pow(x1, (2*k+1)) / fact(2*k+1);
    
    return s;
}
второй пример поправил ещё

Добавлено через 5 минут
Цитата Сообщение от santi90
сегодня зачет получил!)
это не за программу, а то вдруг подумаешь, что программа правильная
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2010, 12:33     НАПИСАЛ ПРОГРАММУ! выдает DOMAIN ERROR !хотя считает!
Еще ссылки по теме:

Ошибка pow: DOMAIN error C++
Написал программу, но она что-то не совсем то, выдает, не могу понять в чем проблема C++
Ошибка pow:DOMAIN error в написании функции Бесселя первого рода нулевого порядка C++
C++ Правильно ли я написал программу?
#c++ Написал программу, qt выдает ошибки напротив cout по всей программе. Подскажите почему C++

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

Или воспользуйтесь поиском по форуму:
santi90
0 / 0 / 0
Регистрация: 25.05.2010
Сообщений: 62
10.06.2010, 12:33  [ТС]     НАПИСАЛ ПРОГРАММУ! выдает DOMAIN ERROR !хотя считает! #7
так я скобку и поменял! я утром тогда смотрю ты написал! я не понял где! в униер приехал! и посмотрел! у меня return был не в цикле!!! скобки были не там! я поменял! и у меня все считает !При чем прально!
в сравнении с дельфи!

Добавлено через 6 минут
Так что зачет за программу!)
при y равном 3 считает итог как = 0,4308
Yandex
Объявления
10.06.2010, 12:33     НАПИСАЛ ПРОГРАММУ! выдает DOMAIN ERROR !хотя считает!
Ответ Создать тему
Опции темы

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