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

Выводит #infoo при подсчёте суммы ряда - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Счетчик операций в цикле do-while http://www.cyberforum.ru/cpp-beginners/thread669897.html
Счетчик операций i выдает нереально завышенные цифры: всего 4 преобразования - как будто 15 операций в цикле произошло. Как его на работу славную настроить, на дела хорошие? #include <iostream> #include "std_lib_facilities.h" int main () { char temp_letter; char small = 'a'; char capital = 'A';
C++ Разбить код на функции Помогите пожалуйста разбить код из nain на функции спасибо. #include <iostream> #include <vector> #include <string> using namespace std; int middle; int K(const vector<float> &tut, int start, int end) { http://www.cyberforum.ru/cpp-beginners/thread669895.html
Матрица С++ C++
Как ввести и вывести динамическую матрицу в с++?
Обьекты класса C++
Возник такой вопрос. Есть класс Авто, в котором конструктор считает количество введеных машин. Проблемма в создание нужного количества обьектов класса.Вот код: #include <iostream.h> using namespace std; class Avto { static int Amount; string Info; public: void PutAmount();
C++ Подсчет. Треугольник http://www.cyberforum.ru/cpp-beginners/thread669865.html
#include <math.h> #include <stdio.h> #include <conio.h> int main() { signed int a,b,c,S; unsigned int B,C; double a,b,c; do{ printf("\n Blog a,b: "); scanf("%U", &a, &b);
C++ Для каждого введённого числа выводить на экран таблицу умножения написать программу, которая предлагает пользователю вводить целое число, до тех пор, пока он не введёт 0. И для каждого введённого числа выводить на экран таблицу умножения.(умножение введённого числа на числа от 1 до 10) подробнее

Показать сообщение отдельно
tguglanaklona
 Аватар для tguglanaklona
10 / 10 / 2
Регистрация: 06.09.2012
Сообщений: 36
13.10.2012, 01:31     Выводит #infoo при подсчёте суммы ряда
Цитата Сообщение от aleksand Посмотреть сообщение
Если я ввожу "x" очень большой(100 например), то программа не работает выводя кучу строк подряд что-то типа #infoo. При этом "e" может быть любым. Подскажите в чём дело? Как решить данную проблему?
Молодец! Конечно, до бесконечности считать всегда будет переполнение! Поставьте останов на цикл.

Ряд sin(x) начинается с нуля, а не с единицы. При правильной остановке Ваша программа (при замене n=1 на n=0) дает верный резулитат, т.е. sin(x) =)

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
#include <stdio.h>
#include <math.h>
#include <conio.h>
 
#define PI  3.14159
 
int main()
{
    //FILE* pf = fopen("Output.txt","w+");
 
    double a, b, c, d, f, g ,h, m, i;
    float x;
    int n;
    h=0;
 
 
    printf("vvedite x\n");
    scanf("%f", &x);
    for(n=0;;n++) {
    
        a=pow(-1.0, n); //степень 1
        b=pow(x, 2*n+1); // степень 2
        c=a*b; //произведение этих степеней
 
        d=1; // переменная для факториала
        f=2*n+1; //факториал какого числа считаем
        for(i=1; i<=f; i++) {
        d=d*i;
        }
 
        g=c/d; //результат ряда
 
        h=h+g;
        m = fabs(g);
        printf("%d. %f, h=%f\n", n, g, h);
 
    }
 
    getchar();
    
}
Вывод sin π/2:

vvedite x
1.57
0. 1.570000, h=1.570000
1. -0.644982, h=0.925018
2. 0.079491, h=1.004509
3. -0.004665, h=0.999843
4. 0.000160, h=1.000003
5. -0.000004, h=1.000000
6. 0.000000, h=1.000000
7. -0.000000, h=1.000000
8. 0.000000, h=1.000000
9. -0.000000, h=1.000000


P.S.:
Вот это непонятн чего изображено
C
1
2
3
4
5
6
7
8
if((int)e==(int)m && e>=(m-(int)m)) {
        printf("%f", h);
        break;
       }
        else if(e>0 && e>=m) {
        printf("%f", h);
        break;
        }
 
Текущее время: 03:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru