Форум программистов, компьютерный форум 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
09.12.2013, 20:59     Функции
Добрый день!
Выполняю очередную лабу
Кодю недавно.

не могу сообразить, как реализовать функцию описанную ниже:
Кликните здесь для просмотра всего текста


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



Мои попытки сделать что-то:
Кликните здесь для просмотра всего текста
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
 
double f (double x) //f(x)
    {
    return (pow(x,1.0/7.0)+log(x+0.3))/(sqrt(x+1)-1);
    }   
 
//double dihot (double r, double a, double b, double eps) // функция для нахождения корня методом дихотомии
 
    
 
//double rectangle (double a, double b, double eps,) // функция для нахождения площади фигуры методом прямоугольников с заданной точностью
 
int main()
{ 
setlocale(LC_ALL, "Russian"); // функция локализации вызывается только один раз
double  a, b, eps, r, h, c, x, y;
    cout<<" Введите Данные:"<< endl;
    cout<<" "<< endl;
 
do
    {
        cout<<" Введитеи интервал а:"<< endl; cin>>a;// интервал
        cout<<" Введите интервал b:"<< endl; cin>>b;// интервал
    }
while(a<0 || a>=1 || b<2 || b>=3 || a>=b);//проверка условий 
do
    {
        cout<<"Введите eps: "; //точность 
        cin>>eps;   
    } 
while (eps<0); //0.0001 < e < 0.1 (eps>0.1 || eps<0.0001);
system("cls");//очистка консоли
while (b - a > eps) 
    { 
        r=(a+b)/2;  //Вычислить значение с (точка разбиения отрезка) 
        if (f(a) * f(r)<0 )//f(b)*f(r)<0. • Выяснить, на каком из отрезков [a, r] или [r, b] находится корень (признаком наличия корня на отрезке [a, с] служит условие f(a)f(c)<0 
        b=r; // тогда границу b необходимо перенести в точку с
        else
        a=r;  // в противном случае корень находится на отрезке [с, b] и надо переносить точку a
    }
 
 
 
c=(a+b)/2;//Разделим отрезок [a; b] на n равных частей, т.е. на n элементарных отрезков.
x=a;
h=b-a/2; // Длина каждого элементарного отрезка
for(int i=0; i<=b;i++)
{
x+=a+(i-1)*h;
}
    
system("pause");
return 0;
}


Еще не могу понять почему не считается функция если я делаю так:
Кликните здесь для просмотра всего текста
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
 
double f (double x) //f(x)
    {
    return (pow(x,1.0/7.0)+log(x+0.3))/(sqrt(x+1)-1);
    }   
 
double dihot (double r, double a, double b, double eps) // функция для нахождения корня методом дихотомии
       {
              while (b - a > eps) 
                { 
        r=(a+b)/2;  //Вычислить значение с (точка разбиения отрезка) 
        if (f(a) * f(r)<0 )//f(b)*f(r)<0. • Выяснить, на каком из отрезков [a, r] или [r, b] находится корень (признаком наличия корня на отрезке [a, с] служит условие f(a)f(c)<0 
        b=r; // тогда границу b необходимо перенести в точку с
        else
        a=r;  // в противном случае корень находится на отрезке [с, b] и надо переносить точку a
            }
       }
 
//double rectangle (double a, double b, double eps,) // функция для нахождения площади фигуры методом прямоугольников с заданной точностью
 
int main()
{ 
setlocale(LC_ALL, "Russian"); // функция локализации вызывается только один раз
double  a, b, eps, h, c, x, y;
    cout<<" Введите Данные:"<< endl;
    cout<<" "<< endl;
 
do
    {
        cout<<" Введитеи интервал а:"<< endl; cin>>a;// интервал
        cout<<" Введите интервал b:"<< endl; cin>>b;// интервал
    }
while(a<0 || a>=1 || b<2 || b>=3 || a>=b);//проверка условий 
do
    {
        cout<<"Введите eps: "; //точность 
        cin>>eps;   
    } 
while (eps<0); //0.0001 < e < 0.1 (eps>0.1 || eps<0.0001);
system("cls");//очистка консоли
 
 
cout<<"корень"<<dihot; //допустим так просто вывести корень подсчитанный в функции  dihot
 
c=(a+b)/2;//Разделим отрезок [a; b] на n равных частей, т.е. на n элементарных отрезков.
x=a;
h=b-a/2; // Длина каждого элементарного отрезка
for(int i=0; i<=b;i++)
{
x+=a+(i-1)*h;
}
    
system("pause");
return 0;
}


Огромное спасибо тем, кто не оставляет без внимания этот пост. Стараемся как можем.

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