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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Нужно обьединить 2 функции в одну http://www.cyberforum.ru/cpp-beginners/thread981245.html
функцию int getMax(stack *head) и int getCount(stack *head , int max) объединить в оду и в void main() выводы поменять #include<iostream> #include<conio.h> #include <time.h> using namespace std; struct stack {
C++ Инициализация комплексного массива Подскажите как правильно проинициализировать элементы двухмерного комплексного массива. По заданию нужно чтобы с клавиатуры вводилась действительная и мнимая часть, но очевидно я делаю что-то не так, потому что у меня ошибка записи. //объявление двумерного массива std::complex <double>** mas; mas = new std::complex <double>* ; for (int i = 0; i < n; i++) { mas = new std::complex... http://www.cyberforum.ru/cpp-beginners/thread981240.html
Ввести массив с клавиатуры и найти количество его элементов C++
Две связанные между собой задачи: 6. Напишите программу, использующую следующие функции: Fill_array() принимает в качестве аргумента имя массива элементов типа double и размер этого массива. Она приглашает пользователя ввести значения double для помещения их в массив. Ввод прекращается при наполнении массива либо когда пользователь вводит нечисловое значение, и возвращает действительное...
C++ Строки
Ребята, помогите пожалуйста! Напишите задачу которая формулируется так: 23. Виділити з тексту слова, у яких кількість голосних звуків парна Текст любой, можно на русском) Перепечатайте задание на русский язык.
C++ Не понимаю почему не выводит acos! http://www.cyberforum.ru/cpp-beginners/thread981206.html
Длины сторон треугольника равны a, b, c. Если треугольник равносторонний, то найти его площадь. Если треугольник равнобедренный, то найти периметр и угол между равными сторонами. #include <iostream> #include <stdio.h> #include <math.h> #include <conio.h> int main(int argc, char** argv) { float a,b,c,S,P,G;
C++ Сравнение русских слов Здравствуйте! Пишу программу для опроса людей (так сказать тест знаний). Так вот, программа задает вопрос, человек должен на него ответить, если отвечает правильно - выводиться сообщение "Ответ правильный", если нет - "Неверно". Вот исходник С++: #include <iostream> #include <locale> using namespace std; int main() { setlocale (LC_ALL, "Russian"); char otvet; подробнее

Показать сообщение отдельно
DmitryM5
Love~
 Аватар для DmitryM5
51 / 51 / 3
Регистрация: 27.08.2013
Сообщений: 743
Записей в блоге: 1
19.10.2013, 13:30     C++ Найти сумму ряда с точностью эпсилон
Цитата Сообщение от 150333 Посмотреть сообщение
Оператор цикла с предусловием (while) и с постусловием (do while)
Задание необходимо выполнить в двух вариантах (используя два вида циклов)
Найти сумму ряда с точностью ε , общий член которого равен
an=1/(((3*n)-2)-((3*n)+1))
Точность считается достигнутой, если следующий член последовательности
меньше заданного ε .
ε - эпсилон.
Помогите пожалуйста вообще while , do while не понимаю.
Если раскрыть это (((3*n)-2)-((3*n)+1)) то получится тупо -3 всегда,не зависимо от n.
Следовательно an член =1/(-3)=-1/3.
Скорее всего ошибка в условии...
Примерно так если поможет,ну исправьте код по условию,так как с таким условием происходит зацикливание...
1:while do
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 <locale>
using namespace std;
 
 
 
int main() {
    std::locale::global(std::locale(""));
    double eps;
    int n=1;
    double Sum=0.0,a=1.0;
    cout<<"Введите вещественное eps>0 "<<endl;
    cin>>eps;
    while (abs(a)>eps) {
        a=(double)1/((3*n-2)-(3*n+1));
        Sum+=a;
        n++;
    }
    cout<<"Сумма ряда,вычисленная с заданной точностью  =  "<<Sum<<endl;
    system("pause");
    return 0;
    
 
}
Добавлено через 15 минут
2:do while
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 <locale>
using namespace std;
 
 
 
int main() {
    std::locale::global(std::locale(""));
    double eps;
    int n=1;
    double Sum=0.0,a=1.0;
    cout<<"Введите вещественное eps>0 "<<endl;
    cin>>eps;
    do { 
        a=(double)1/((3*n-2)-(3*n+1));
        Sum+=a;
        n++;
    }  while (abs(a)>eps);
    cout<<"Сумма ряда,вычисленная с заданной точностью  =  "<<Sum<<endl;
    system("pause");
    return 0;
    
 
}
 
Текущее время: 11:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru