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

Функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Работа с файлами http://www.cyberforum.ru/cpp-beginners/thread1034963.html
Сформировать файл из чисел последовательности (–1)^(k)*0.3^(k)/(k + 1). Найти сумму наибольшего и наименьшего из значений компонентов файла
C++ Вывести статистику из массива структур Вот в чём нужно помочь : Создать программу учета сотрудников. О сотруднике необходимо хранить следующие данные: - ФИО - должность - дата рождения. Данные о сотрудниках следует хранить в массиве структур http://www.cyberforum.ru/cpp-beginners/thread1034962.html
C++ Построить массив только из значений, входящих в исходный более одного раза
Задан произвольный массив. Исходная информация записана в файле. Построить массив только из значений, входящих в него более одного раза.
Удалить все символы "*", а символы, не являющиеся "*", удвоить C++
Составить программу, которая вводит строку символов, выполняет ее обработку и затем выво- дит результаты. Удалить все символы "*", а символы, не являющиеся "*", удвоить
C++ Одномерный массив http://www.cyberforum.ru/cpp-beginners/thread1034951.html
помогите пожалуйста) в с++ совсем не бум-бум) Одномерный массив B и преобразовать его следующим образом: 1) увеличить каждый элемент массива на максимальный элемент 2) найти индекс и значение последнего минимального элемента массива 3) отсортировать элементы массива по убыванию заранее спасибо всем!!)))
C++ Обработка массивов с использованием подпрограмм Составить программу для решения задачи. Каждый элемент матрицы A(3,3) разделить на произведение ее не- четных отрицательных элементов подробнее

Показать сообщение отдельно
о_О_Кто_здесь
11 / 11 / 1
Регистрация: 06.06.2011
Сообщений: 152
11.12.2013, 16:48  [ТС]     Функции
Мой итог:
функция для нахождения корня методом дихотомии. Правда все еще не уверен верно ли.
Кликните здесь для просмотра всего текста



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
double dihot (double a, double b, double eps) // функция для нахождения корня методом дихотомии
    {
        double r;
        do
            { 
                r=(a+b)/2; //Вычислить значение с (точка разбиения отрезка
                if (f(r)*f(a)>0) //все таки здесь наверно больше нуля.
                a=r; // тогда границу b необходимо перенести в точку с
                else
                b=r; // тогда границу b необходимо перенести в точку с, в противном случае корень находится на отрезке [с, b] и надо переносить точку a). Вычислить значение с для нового отрезка.
            }
        while (abs(b - a) > eps);       
        return r;
    }


И функция для нахождения площади фигуры методом прямоугольников с заданной точностью.
С ней немного не уверен, хотелось бы услышать советов. или подправили если не так.

Кликните здесь для просмотра всего текста

Первая попытка сделать, кажется совсем не в том направлении пошел.
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
double rectangle (double n, double a, double b, double eps) // точно не так 
    {
        double h, x0, s, x;
        do 
            {
                int i;
                h=(b-a)/n;
                s=0; 
                x0=a;
                for (i=0; i<n-1;i++)
                x=x0+i*h; 
                s=s+f(x)*h;
            } 
            while (s-s<eps);
        return s;
    }
 
/*
    Разделим отрезок [a; b] на n равных частей, т.е. на n элементарных отрезков. Длина каждого элементарного отрезка  . 
    Точки деления будут: x0=a; x1=a+h; x2=a+2пѓ— h, ... , xn-1=a+(n-1)пѓ— h; xn=b. Эти числа будем называть узлами. 
    Вычислим значения функции f(x) в узлах, обозначим их y0, y1, y2, ... , yn. То есть, y0=f(a), y1=f(x1), y2=f(x2), ... , yn=f(b). Числа y0, y1, y2, ... , yn являются ординатами точек графика функции, 
    соответствующих абсциссам x0, x1, x2, ... , xn. Площадь криволинейной трапеции приближенно заменяется площадью многоугольника, составленного из n прямоугольников. 
    Таким образом, вычисление определенного интеграла сводится к нахождению суммы n прямоугольников
    */
А вот вторая, считает, но опять же я не уверен.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
double rectangle (double n, double a, double b, double eps) //Второй. функция для нахождения площади фигуры методом прямоугольников с заданной точностью
        {
            double h, S, S0;
            do
                {
                    int i;
                    h=(b-a)/n;      
                    S=0;
                    for (i=1; i<=(n-1); i++)
                        {
                            S=S+f(a+h*i);
                            S0=S; 
                        //  n=n*2; //Рассчитать следующее приближение S, увеличив количество точек разбиения n в 2 раза и вычислив новый шагКак это сделать? или я уже вообще запутался.
                        }
                }
            while(S0-S>=eps);// Пока S0-S>=eps  делать   •  Присвоить  S0=S; •  Рассчитать следующее приближение S, увеличив количество точек разбиения n в 2 раза и вычислив новый шаг. 6. По окончании цикла сообщить S
            
            return S; 
        }
Еще одно не понятное, (S0-S<eps) не считает программа весит (по задания вроде мне нужно именно так проверять) т.к. (S0-S>=eps) это вроде для трапеции.

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