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

Код С++ - C++

Восстановить пароль Регистрация
 
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 15:06     Код С++ #1
вот такая задача:
Вычислить сумму бесконечного сходящегося ряда. Суммирование прекратить при появлении в сумме слагаемых, имеющих абсолютную величину, меньшую заданной погрешности d. Значение d задается пользователем. S=1-1\(2^4)+1\(3^4)-1\(4^4)+...

я даже не понимаю че делать та нада, не то чтобы код написать)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2010, 15:06     Код С++
Посмотрите здесь:

Visual c++ код перевести в gcc linux код C++
C++ В чем разница между exit(код возврата) и ExitProcess (код возврата)?
C++ Не получается запустить длинный код Алгоритма Гомори, код правильный.
C++ прога, которая по нажатой клавише выводит ascii - код символа это клавиши или scan - код самой клавиши.
код, который прекрасно выполняет Code::Blocks не выполняеться в Студии, как сделатьь так чтобы Студия воспринимала этот код?? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
08.05.2010, 15:23     Код С++ #2
Может-быть как-то так?
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
#include <iostream>
#include <iomanip>
#include <cmath>
 
int main ()
{
    std::cout << "Input d: ";
    int d; std::cin >> d;
    float finish_sum=pow(2,4); // конечная сумма.
    float sum; // слагаемое.
    int i=2; // счетчик.
 
    for (int i=3, sum=1; sum>d; i+=2)
    {
        sum=1/pow(i,4);
        finish_sum+=sum;
        sum=1/pow(i+1, 4);
        finish_sum-=sum;
    }
 
    std::cout << "Finish sum: " << finish_sum;
    std::cout << std::endl;
    return 0;
}
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 16:21  [ТС]     Код С++ #3
ошибки какие та....
[C++ Error] Unit1.cpp(25): E2268 Call to undefined function 'pow'
[C++ Warning] Unit1.cpp(32): W8004 'i' is assigned a value that is never used
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,670
08.05.2010, 18:19     Код С++ #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
//Вычислить сумму бесконечного сходящегося ряда. Суммирование прекратить 
//при появлении в сумме слагаемых, имеющих абсолютную величину, 
//меньшую заданной погрешности d. Значение d задается пользователем. 
//S=1-1\(2^4)+1\(3^4)-1\(4^4)+... 
#include <cmath>
#include <iostream>
 
double S(double delta)
{
    int sign = 1;
    double res = 0;
    double summand = 0;    
    
    for(size_t i = 1; ; ++i)
    {
        summand = 1.0 / pow(static_cast<double>(i), 4);        
        if(summand < delta) break;
        res += sign * summand;
        sign *= -1;                
    }
    return res;
}
 
int main()
{
    double d;
    for(;;)
    {
        std::cout << "Input delta: ";
        std::cin >> d;
        std::cout << "Sum of 1 + 1/2^4 - 1/3^4 + ... = "
                  << S(d)
                  << std::endl
                  << std::endl;
    }
    return 0;
}
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 19:20  [ТС]     Код С++ #5
[C++ Error] Unit1.cpp(20): E2268 Call to undefined function 'pow'
[C++ Warning] Unit1.cpp(40): W8066 Unreachable code
[C++ Error] Unit1.cpp(42): E2190 Unexpected }

вот такое пишет(
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
08.05.2010, 19:35     Код С++ #6
#include <math.h>
бесконечный цикл - моветон, ибо чтобы из него выйти нужно пользоваться сторонними (по отношению к программе) средствами.
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
08.05.2010, 20:08  [ТС]     Код С++ #7
как это? поподробнее
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,670
08.05.2010, 22:39     Код С++ #8
Цитата Сообщение от Aye Aye Посмотреть сообщение
#include <math.h>
бесконечный цикл - моветон, ибо чтобы из него выйти нужно пользоваться сторонними (по отношению к программе) средствами.
Ну да, щелкнуть мышкой кнопочку с крестиком в программном окне. Только с каких это пор использование кнопок в программном окне считается независимым от программы средством?
Моветон по-моему заставлять пользователя постоянно запускать программу (независимыми от программы средствами) .
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
09.05.2010, 03:55     Код С++ #9
KennyMccormick, впиши в исходник: #include <math.h> в самом верху. В программе используется функция pow для возведения в степень, она обьявлена в файле math.h поэтому его надо "подключить к программе" с помощью дерективы #incldue <>, у меня скомпилировалось, стандартный gcc 4.4.

Mr.X, шелчек по крестику - это не завершение непосредственно самого приложения, это закрытие виртульной дос машины - и как следствие закрытие всех процессов в ней запущеных. Вообще это фигня конечно, но лучше не далть так, потому что если бы это была какая-нибудь релаьная системная утилита, ftp напимер, то для пользователя не было бы очевидно, что завершение программы таким принудитеьным образом является корректным...
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,670
09.05.2010, 09:08     Код С++ #10
Цитата Сообщение от Aye Aye Посмотреть сообщение
...если бы это была какая-нибудь релаьная системная утилита...
Решение задачи я всегда в отдельную функцию выношу, - она-то здесь утилита и есть, а функция main в консольном приложении у меня исключительно для общения с пользователем.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2010, 09:42     Код С++
Еще ссылки по теме:

перевод десятичного вещественного в машинный код(двоичный код) C++
Перевести код программы Паскаля в код С++ C++
Нужно засунуть код инструкции в 4 char'a так, чтобы в памяти это был код инструкции. C++

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

Или воспользуйтесь поиском по форуму:
KennyMccormick
0 / 0 / 0
Регистрация: 07.05.2010
Сообщений: 50
09.05.2010, 09:42  [ТС]     Код С++ #11
спасибо, заработало, вот только... так и должно быть?: если ввожу любое число от 1, то результат равен нулю, а вот если 0,1 до 0.9 то равно 1, так и должно быть?)
Yandex
Объявления
09.05.2010, 09:42     Код С++
Ответ Создать тему
Опции темы

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