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

Число не входит по размеру в тип данных - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В 1d массиве уменьшить в двое элементы кратные 2 и стоящие перед max элементам http://www.cyberforum.ru/cpp-beginners/thread666837.html
В 1d массиве уменьшить в двое элементы кратные 2 и стоящие перед max элементам 332947=>431947
C++ Описать строку "number" (как массив символов) и переменную вещественного типа Помогите пожалуйста с заданием.... Надо Описать строку “number” (как массив символов) и переменную вещественного типа. Ввести значение переменной с клавиатуры. Очистить экран и вывести на экран ... http://www.cyberforum.ru/cpp-beginners/thread666827.html
C++ Вывод строки на экран: код не показывает обратную косую черту
Срочно нужна помощь.... по заданию надо вывести на экран сообщение: \\Это комментарий? //Нет, это комментарий дан код, но не показывает обратную косую черту. #include "stdafx.h" #include...
C++ Вычислить сумму ряда с заданной точностью
на языке си++. даны действительные числа -1<x<1,1<ε <0, составить программу вычисления с точностью ε следующие суммы ((2^2)*(x^2))/(2*4) +((2^3)*(x^3))/(2*4*6)+....
C++ istream, ostream http://www.cyberforum.ru/cpp-beginners/thread666754.html
Есть задача по сохранению в файл и восстановлении из файла объекта. Функции надо сделать такие: void Serialize(std::ostream & stream); // сохранение в файл void Deserialize(std::istream &...
C++ Имеется строка, содержащая число в экспоненциальной форме помогите пожалуйста !!!!.... никак не могу придумать как решить эту задачу.. очень нужно.. Прочитать в переменные целого типа два действительных числа со знаком в экспоненциальном представлении... подробнее

Показать сообщение отдельно
aleksand
21 / 9 / 2
Регистрация: 18.06.2011
Сообщений: 185

Число не входит по размеру в тип данных - C++

09.10.2012, 10:05. Просмотров 366. Ответов 5
Метки (Все метки)

При вводе вводим следующее: выбираем первый пункт, затем x=2, E = 30. Когда факториал доходит до числа 35, то выводится #INFOO; Как можно исправить проблему?
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
 
double MachineZero();
int function();
 
int main()
{
    int count, n, q, sum, number;
    unsigned int factor;
    float x;
    double y, z, w;
    double b;
    float E; //это наша точность
    w = 0; // для подсчёта суммы ряда
 
    printf("Choose number 1 or 2\n");
    printf("1).E-zaday sam; X - zaday sam\n");
    printf("2).E-max; X - zaday sam\n");
    scanf("%d", &number);
 
    switch(number) {
 
    case 1: // 1-й случай
    printf("Enter x:\n");
    scanf("%f", &x);
    printf("Enter E:\n");
    scanf("%f", &E);
 
    for(n=1;;n++) {
    y = pow(x, 2*n+1);
    z = pow(-1.0, n);
    printf("y: %.0f\nz: %.0f\n", y, z);
 
    q = 2*n+1;
    factor=1;
    for(count=1;count<=q;count++) factor= factor*count;
    printf("Faktorial chisla %d raven %d\n", q, factor);
 
    b = z/factor*y;
    printf("%f\n\n", b);
 
    w = b+w;
 
    if(E<fabs(b)) {
    printf("Sum ryada do tochnosty %f ravna: %f\n", E, w);
    break;
    }
 
    }
 
    break;
    
    case 2: // 2-й случай
 
    printf("Enter x:\n");
    scanf("%f", &x);
    E = MachineZero();
    printf("Our E: %e\n", E);
 
    for(n=1;;n++) {
    y = pow(x, 2*n+1);
    z = pow(-1.0, n);
    printf("y: %.0f\nz: %.0f\n", y, z);
 
    q = 2*n+1;
    factor=1;
    for(count=1;count<=q;count++) factor= factor*count;
    printf("Faktorial chisla %d raven %d\n", q, factor);
 
    b = z/factor*y;
    printf("%f\n\n", b);
 
    w = b+w;
 
    if(E<fabs(b)) {
    printf("Sum ryada do tochnosty %e ravna: %f\n", E, w);
    break;
    }
 
    }
    break;
 
    default: // по default
        printf("wrong number\n");
 
    } //end of switch
    
 
 
    system("pause");
    return 0;
}
 
 
double MachineZero(){
    float v,u=1;
    do{
        v=u;
        u/=2;
    }while (u);
    return v;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru