Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 07.04.2015
Сообщений: 353
1

Нужно вычислить сумму ряда с заданной точностью

07.04.2015, 12:34. Показов 557. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно вычислить сумму ряда с заданной точностью:
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
#include "stdafx.h"
#include "math.h"
#include "stdio.h"
 
using namespace System;
{
 
int main()
{
    
        
        float t = 1.0;
        float s = t / 1.0 + (t * t);
        float sum = 0.0;
        float exp = Pow(10, -3);
 
 
        while (fabs(s) <= exp)
        {
 
            sum += s;
            t++;
            s = t / 1.0 + (t * t);
 
           
        }
        printf("%f", s);
    }
}
При попытке скомпилировать выдает ошибку: "С2247 "{": отсутствует заголовок функции (возможно, используется формальный список старого типа)".
Подскажите, пожалуйста, почему?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2015, 12:34
Ответы с готовыми решениями:

Вычислить сумму ряда c заданной точностью
Вычислить с точностью е сумму членов ряда:...

Вычислить сумму ряда c заданной точностью
Дано натуральное число n. Найти сумму 1/sin1+1/sin1+sin2+...+1/sin1+...+sin. Требуется вывести...

Вычислить сумму ряда с заданной точностью
Ввести -1&lt;х&lt;1 и точность вычисления ε. Вычислить и вывести на экран сумму ряда. Каждый член ряда...

Вычислить сумму ряда с заданной точностью
Только начал изучать. Пока я овощ. Поясните в чем ошибка, конкретно уже запутался в знаках и...

12
1 / 1 / 0
Регистрация: 01.02.2015
Сообщений: 18
07.04.2015, 12:37 2
return 0;
0
1 / 1 / 1
Регистрация: 02.04.2015
Сообщений: 46
07.04.2015, 12:41 3
у вас лишние скобки 6, 29...
0
Эксперт по математике/физикеЭксперт С++
2048 / 1366 / 395
Регистрация: 16.05.2013
Сообщений: 3,506
Записей в блоге: 6
07.04.2015, 13:01 4
Цитата Сообщение от VadimAND Посмотреть сообщение
return 0;
Согласно стандарту это не обязательно.
C++
1
using namespace System;
Цэ шо?
1
2 / 2 / 0
Регистрация: 07.04.2015
Сообщений: 353
07.04.2015, 13:08  [ТС] 5
Цитата Сообщение от Ilot Посмотреть сообщение
Согласно стандарту это не обязательно.
C++
1
using namespace System;
Цэ шо?
Где-то в интернете нашел))

Добавлено через 3 минуты
Итак, всем спасибо за подсказки...Теперь код выглядит так:
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
#include "stdafx.h"
#include "math.h"
#include "stdio.h"
 
 
 
int Main()
{
    
        
        double t = 1.0;
        double s = t / 1.0 + (t * t);
        double sum = 0.0;
        double exp = pow(10,-3);
 
 
        while (fabs(s) <= exp)
        {
 
            sum += s;
            t++;
            s = t / 1.0 + (t * t);
 
           
        }
        printf("%f", s);   
}
И теперь компилятор выдает такие ошибки:
1>123.cpp(16): error C2668: pow: неоднозначный вызов перегруженной функции
1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h(583): может быть "long double pow(long double,int)"
1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h(535): или "float pow(float,int)"
1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\math.h(497): или "double pow(double,int)"
1> при попытке сопоставить список аргументов "(int, int)"

Как я понимаю, это связано с неверным возведением в степень...Мне нужно возвести 10 в -3 степень. Что я делаю не так?
0
Эксперт по математике/физикеЭксперт С++
2048 / 1366 / 395
Регистрация: 16.05.2013
Сообщений: 3,506
Записей в блоге: 6
07.04.2015, 13:11 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <cmath>
#include <cstdio>
int main() {
    double t = 1.0;
    double s = t / 1.0 + (t * t);
    double sum = 0.0;
    double exp = pow(10,-3);
    while (fabs(s) <= exp) {
        sum += s;
        ++t;
        s = t / 1.0 + (t * t);
    }
    printf("%f", s);
}
0
2 / 2 / 0
Регистрация: 07.04.2015
Сообщений: 353
07.04.2015, 13:18  [ТС] 7
Ilot, вот какие ошибки выдает компилятор при вставке Вашего кода:
1>123.cpp(1): warning C4627: #include <cmath>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>123.cpp(2): warning C4627: #include <cstdio>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>123.cpp(16): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
Эксперт по математике/физикеЭксперт С++
2048 / 1366 / 395
Регистрация: 16.05.2013
Сообщений: 3,506
Записей в блоге: 6
07.04.2015, 13:23 8
Если работаете в студии то оставьте заголовочник:
C++
1
#include "stdafx.h"
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
07.04.2015, 13:39 9
Цитата Сообщение от Ilot Посмотреть сообщение
оставьте заголовочник
в самом самом верху, первой строчкой.
а еще, вероятно, компилятор хочет, чтобы вы написали
C++
1
double exp = pow(10.0f,-3);
вместо
C++
1
double exp = pow(10,-3);
судя по ошибкам, компилятор не очень понял к какому именно типу вы хотите привести инт

Добавлено через 10 минут
Цитата Сообщение от asdfg15432 Посмотреть сообщение
Где-то в интернете нашел))
это из си-шарпа, а не из плюсов. в плюсах вместо System -- std бывает, но в данном конкретном случае это никак и ни на что не повлияет, ибо вы не подключили плюсовых заголовков с определением пространства имен std (iostream, например).
вы с таким же успехом можете написать
C++
1
using namespace abcedfg;
хуже не будет, но и лучше тоже
0
2 / 2 / 0
Регистрация: 07.04.2015
Сообщений: 353
07.04.2015, 14:06  [ТС] 10
Подкорректировал код...Вот, что получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include <cmath>
#include <cstdio>
 
int main() {
    double t = 1.0;
    double s = t / 1.0 + (t * t);
    double sum = 0.0;
    double exp = pow(10.0f,-3);
    while (fabs(s) <= exp) {
        sum += s;
        ++t;
        s = t / 1.0 + (t * t);
    }
    printf("%f", s);
}
Выдает следующие ошибки:
1>LINK : fatal error LNK1123: сбой при преобразовании в COFF: файл недопустим или поврежден
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Вообще, изначально я решал поставленную задачу через C#. Там у меня не было никаких ошибок. Проблема была в том, что я не мог вывести переменную "s". Мне C# больше нравится
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
07.04.2015, 14:31 11
http://stackoverflow.com/quest... in-c-sharp

вам вместо i нужно подставить s, и выводите в том формате, в котором вам будет удобно. если не понимаете, о чем я, возьмите
C#
1
Console.WriteLine(String.Format("  {0:F5}", s));
0
2 / 2 / 0
Регистрация: 07.04.2015
Сообщений: 353
07.04.2015, 17:26  [ТС] 12
Всем спасибо за помощь Все работает!
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
07.04.2015, 17:35 13
Цитата Сообщение от asdfg15432 Посмотреть сообщение
pow(10.0f,-3);
Это что за изврат?
Разве сложно написать 0.001 ли 1e-3 ?
0
07.04.2015, 17:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2015, 17:35
Помогаю со студенческими работами здесь

Вычислить сумму ряда с заданной точностью
Помогите пожалуйста, задание подобного типа, работу сдавать через 8 часов( 3D_SmileLight,...

Вычислить сумму ряда с заданной точностью
Написал программу для задачи, но вот цикл в ней правильно работает до определенного момента,...

Вычислить сумму ряда с заданной точностью
Всем привет,помогите сделать так,чтобы Е вводилось от руки и высчитывало всё правильно,что то не...

Вычислить сумму ряда с заданной точностью
Уважаемые программисты, помогите разобраться с заданием. С точностью ε = 10-5 посчитать:...

Вычислить сумму ряда с заданной точностью
Не используя стандартные функции (за исключением степенной), вычислить сумму следующего ряда с...

Вычислить сумму ряда с заданной точностью
Привет. Помогите, пожалуйста, решить. Не могу понять.


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru