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

Найти сумму ряда с точностью - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пузырьковая сортировка http://www.cyberforum.ru/cpp-beginners/thread348754.html
Хочу спросить, это пузырьковая сортировка или нет? Как её правильно реализовать? Как оценить эффективность алгоритма сортировки по числу сравнений (упорядочен по возрастанию)? #include <iostream.h> #include <conio.h> #define MAX 400 int main() { long kol = 0; int A = {0};
C++ По поводу дерева "Дано дерево поиска, ключи которого – целые числа (положительные и отрицательные). Определить К-е отрицательное число, следующее за положительным числом при прямом просмотре дерева (TLR)." Так вот, дерево как-то по-моему не так работает, либо текст с ошибками, либо тесты неправильные делаю. С помощью какого теста его грамотно можно прогнать? Если есть ошибки, то укажите на них. Как проверить... http://www.cyberforum.ru/cpp-beginners/thread348742.html
Запись в стек строк из файла C++
создаю стек следующим образом: int _tmain(int argc, _TCHAR* argv) { char*fname="D:\\NameOfFile.txt"; FILE*file; char result_sting; int i=0; stek*p1=0; file = fopen(fname,"r");
Логическая система координат C++
Где в приложении находится логическая система координат скажем по умолчанию?
C++ проблемы с ООП(базовый) http://www.cyberforum.ru/cpp-beginners/thread348704.html
Есть структура "Бибилиотека". Там есть некоторые функций. Так вот. class Library { public: int GetId() int isPenicl() ... int isBook()...
C++ ошибка при компиляции Добрый день. при компиляции выдает вот такую ошибку: c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -lz collect2: ld returned 1 exit status строка: C:\MinGW\bin>g++ -O2 fw_scx3200.cpp -lz -ofw_scx3200 видимо что то не хватает. подскажите что именно? подробнее

Показать сообщение отдельно
Ruslanishe
25 / 9 / 1
Регистрация: 17.10.2010
Сообщений: 203
07.09.2011, 15:41  [ТС]     Найти сумму ряда с точностью
Цитата Сообщение от Yurii_74 Посмотреть сообщение
Подсказка (возможно не к этому примеру, но к сходящимся рядам в общем): double не резиновый, при сложении очень малых значений с очень большими (относительно, естественно) малое просто не входит в значимые разряды и отсекается. Складывать надо очень аккуратно по кускам (проверка S главного cо следующим членом ряда, если сильно разнятся, то завести 2ую сумму и в ней складывать до тех пор, пока не получится сумма, сравнимая с Sглавным, 2ая тоже может иметь такое неприятное явление, и, возможно надо заводить 3ю и т. д.).
Также почему условие while (a >= e)? Достаточно-ли только его?
z вычисляется верно? (при n=2 z д.б. 4! = 4*3*2*1 = 24, у нас z(1) = ??? непонятно чему, инициализации нет, ну пусть z начальное было б 1, тогда z(1)=2(верно), z(2)=2*(2+2) = 8 < 24 (неверно)).

Добавлено через 10 минут
Итого: попробуйте сначала z = z*(2n*(2n-1)), и инициализируйте его.

Не по теме:

И после этого ещё говорят, что прогерам не нужно знание математики и внутреннего представления типов данных. Мдя...


Я не скажу, что незнаю совсем математику , но соображаю! ту проверку z я написал от безысходности)) сам тоже пытался вывести, но не получилось!я так и написал перед кодом что неправильно работает! Спасибо большое!

Добавлено через 1 минуту
Цитата Сообщение от LeX BB Посмотреть сообщение
согласен с Yurii_74

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
#include "stdafx.h"
#include <conio.h>
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale (LC_ALL,"Russian");
    cout << "Найти сумму ряда с точностью Е=10-4, ообщий член которого = n!/(2n)!" << endl;
    double n = 1;
    double S = 0;
    double y = 1;
    double const e = 0.0001;
    while (y >= e)
    {
        y=y*n/(2*n*(2*n-1));
        S=S+y;
        n++;
        cout << y << endl;
    }
    cout << "Сумма S = ";
    cout << S << endl;
    _getch();
    return 0;
}
Ruslanishe, проще, не так ли? зачем себе жизнь усложнять лишними операциями и переменными?
Переменные писал только для того, чтобы не запутаться!
 
Текущее время: 14:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru