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

Написать программу для вычисления числа с заданной точностью. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Класс «Комплексное число». Поля класса: действительная и мнимая части http://www.cyberforum.ru/cpp-beginners/thread1118439.html
Помогите, описать класс в соответствии с индивидуальным вариантом задания и реализовать все его методы. Каждый класс помимо указанных в варианте методов должен содержать конструктор с параметрами, конструктор копирования, деструктор, методы ввода с клавиатуры, установки и получения значений полей, вывода этих значений на экран. В каждом методе класса, включая конструкторы и деструктор,...
C++ Где ошибка в классе ? Если я делаю все то же самое в главной функции, то никакой ошибки нет. При создании класса windows не одобряет мои действия. ))) class examp { private: int *a; public: void write() { http://www.cyberforum.ru/cpp-beginners/thread1118437.html
C++ Как сделать проще?
Здравствуйте, вот написал программу, которая реализовывает функцию определения значения некоторой элементарной функции, зависящей от аргумента, с заданной точностью и максимальной допустимым количеством итераций. Помогите, пожалуйста, как можно её еще больше упростить? #include "stdafx.h" #include <iostream> #include <cmath> using namespace std; double f1(double x) {return log(x);}
Поиск максимального элемента по модулю C++
Дана целочисленная прямоугольная матрица А. Составить новую матрицу В из тех строк матрицы А, первым элементом в которых является максимальный по модулю элемент. Я создала матрицу, но никак не могу понять, как найти именно первый элемент строки, чтобы он был максимальный Помогите пожалуйста //--------------------------------------------------------------------------- #pragma hdrstop...
C++ Определить, принадлежит ли точка заштрихованной области http://www.cyberforum.ru/cpp-beginners/thread1118414.html
Пусть D - заштрихованная часть плоскости и пусть U определяется по x и y следующим образом (запись(x, y)Є D означает, что точка с координатами x, y принадлежит D):
C++ Необходимо написать и отладить программу в среде Borland C++ 3.1 с обязательным применением динамических массивов и функций помогите написать программу на Borland C++ 3.1 Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый массив переписать все четные элементы заданного массива, во второй – все нечетные. Упорядочить первый массив по убыванию, второй – по возрастанию. Создать функции для удаления элемента и для сортировки. p.s. если можно с объяснениям подробнее

Показать сообщение отдельно
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
14.03.2014, 12:22     Написать программу для вычисления числа с заданной точностью.
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
int main(int argc, char* argv[])
{
    double x = 0, y0 = 0, y1 = 0, eps = 0, sigma = 0;
    int k = 0;//целочисленное иначе теряется смысл вычисления Yi в степени k-1
    cin >> x >> k >> eps;
    if(x<0)
    {
        cout << "x is not valid"<<endl;
        system("pause");
        return 0;
    }
    else if(x == 0 && k < 0)
    {
        cout << "x and k are not valid"<<endl;
        system("pause");
        return 0;
    }
    y0 = 1;
    sigma = 1;
    double yk = 0;
    while(fabs(sigma) >= eps)
    {
        yk = y0;
        for(int i = 2; i <= k-1; i++)
        {
            yk*=yk;
        }
        sigma = 1./k*(x/yk - y0);
        y1 = y0 + sigma;
        y0 = y1;
    }
    cout << "y = " << y1 << endl;
    system("pause");
 
    return 0;
}
Добавлено через 16 минут
упс подправил косяки, вот рабочий код, проверил с калькулятором
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
int main(int argc, char* argv[])
{
    double x = 0, y0 = 0, y1 = 0, eps = 0, sigma = 0;
    int k = 0;//целочисленное иначе теряется смысл вычисления Yi в степени k-1
    cin >> x >> k >> eps;
    if(x<0)
    {
        cout << "x is not valid"<<endl;
        system("pause");
        return 0;
    }
    else if(x == 0 && k < 0)
    {
        cout << "x and k are not valid"<<endl;
        system("pause");
        return 0;
    }
    y0 = 1;
    sigma = 1;
    double yk = 0;
    while(fabs(sigma) >= eps)
    {
        yk = y0;
        for(int i = 2; i < k; i++)
        {
            yk*=y0;
        }
        sigma = 1./k*(x/yk - y0);
        y1 = y0 + sigma;
        y0 = y1;
    }
    cout << "y = " << y1 << endl;
    system("pause");
 
    return 0;
}
 
Текущее время: 20:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru