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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.81
ruslannos
10 / 10 / 0
Регистрация: 17.11.2011
Сообщений: 84
#1

Найти все корни уравнения на заданном интервале [a;b] с заданной точностью - C++

06.12.2011, 14:46. Просмотров 3307. Ответов 9
Метки нет (Все метки)

Закрепление практических навыков по работе с функциями.
В ходе выполнения работы необходимо создать программу, которая находит все корни уравнения на заданном интервале [a;b] с заданной точностью (задается пользователем). Программа должна выводить список корней (при этом корни не должны повторяться) либо выводить соответствующее сообщение, если корней нет.

5*x^2*sin(1/(3ƖxƖ+2))+1=0

Добавлено через 1 час 35 минут
нету даже идей
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2011, 14:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти все корни уравнения на заданном интервале [a;b] с заданной точностью (C++):

Использование стандартных функций (найти все корни уравнения на заданном интервале [a;b] с заданной точностью) - C++
Необходимо создать программу, которая находит все корни уравнения на заданном интервале с заданной точностью (задается пользователем)....

Найти все корни уравнения на заданном интервале - C++
Помогите написать программу буду очень признателен) В ходе выполнения работы необходимо создать программу, которая находит все корни...

Найти корни уравнения на заданном интервале - C++
Численным методом найти корни уравнения 5x5 – 44x3 + 4.5x2 =12. 1.Найти корни уравнения на интервале от 2.930 до 2.931 с точностью до...

Найти значение корня на заданном интервале с заданной точностью - C++
Программа не доходит до цикла функции, задание чтобы ввести начало диапозона, конец , шаг диапазона и этот диапазон прибавлялся к фунции y=...

Найти корень уравнения на интервале [a,b] с заданной пользователем точностью - C++
Пропустил несколько занятий по причине болезней, висит курсовая, осталось сделать одно задание. Найти корень уравнения на интервале с...

Вычисление суммы ряда с заданной точностью в заданном интервале допустимых значений аргумента - C++
:cry: Ребята выручайте. Без вас мне край. У меня не было С++ ,но мне надо сделать задачки и отбодаться :-[ Нужен код. "Используя...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
-=ЮрА=-
Заблокирован
Автор FAQ
06.12.2011, 15:17 #2
Цитата Сообщение от ruslannos Посмотреть сообщение
нету даже идей
- методом простых итераций к примеру...
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
07.12.2011, 17:00 #3
Копай в сторону метода половинного деления, например...
ruslannos
10 / 10 / 0
Регистрация: 17.11.2011
Сообщений: 84
08.12.2011, 16:09  [ТС] #4
Ладно,буду пробовать,думал тут помоготут. . .

Добавлено через 2 часа 35 минут
Поднимаю
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
08.12.2011, 18:40 #5
Цитата Сообщение от ruslannos Посмотреть сообщение
Ладно,буду пробовать,думал тут помоготут. . .
вам уже дали две подсказки, писать вам за "красивый ник" никто не будет
ruslannos
10 / 10 / 0
Регистрация: 17.11.2011
Сообщений: 84
14.12.2011, 01:52  [ТС] #6
Вот прога,если может кому пригодится.Пользуйтесь токо за красивый ник!
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
// лаба 4(1).cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#include <clocale>
using namespace std;
 
 
 
int _tmain(int argc, _TCHAR* argv[])
 
{ 
setlocale(LC_CTYPE, "rus");
double i,x,a,b,y,q,e1,e2,e3,w;
cout << "Введите a,b; e1 как шаг и e2 для определения правильности решения" << endl;
cin >>a>>b>>e1>>e2;
w=0;
e3=0-e2;
for (i=a; i<=b;i=i+e1)
 {
  x=i;
 q =5*x*x*sin(1/(3*x+2))+ 1;
 if (q<e2||q>e3) 
   {
   cout << " Ответ:  " << x << "  Результат:  " << q << endl;
   w=1;
   }
 }
if (w==0) 
 {
 cout << "Ответов нет";
 }
 _getch();
}
Вот токо спросить хотел: как поставить в выражении (3*x+2) х по модулю
amor1k
Студент
147 / 147 / 24
Регистрация: 18.01.2011
Сообщений: 469
14.12.2011, 01:53 #7
fabs(x)
ruslannos
10 / 10 / 0
Регистрация: 17.11.2011
Сообщений: 84
15.12.2011, 12:26  [ТС] #8
искожается результат,я присваиваю значение y=fabs(x) , и q =5*x*x*sin(1/(3*у+2))+ 1, мне пишет не правильный ответ

Добавлено через 37 секунд
все результаты ровны 1

Добавлено через 1 минуту
все,понял, вот так q =5*x*x*sin(1/(3*fabs(x)+2))+ 1;

Добавлено через 3 минуты
делал по шаблону, обясните что значит w=0; w=1; x=i;w==0

Добавлено через 11 часов 3 минуты
я не прошу написать мне програму, просто обясните по готовому что значит w=0; w=1; x=i;w==0?

Добавлено через 3 часа 46 минут
Как записать програму с помощью функций?

Добавлено через 19 часов 34 минуты
Как записать програму с помощью функций?
ruslannos
10 / 10 / 0
Регистрация: 17.11.2011
Сообщений: 84
19.12.2011, 23:35  [ТС] #9
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
// 123.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#include <clocale>
using namespace std;
 
int f(double chislo){
double q =5*chislo*chislo*sin(1/(3*chislo+2))+ 1;
return q;
 
int main();
 
{ 
    setlocale(LC_CTYPE, "rus");
    double i,a,b,y,q,e1,e2,e3,w;
    cout << "Введите a,b; e1 как шаг и e2 для определения правильности решения" << endl;
    cin >>a>>b>>e1>>e2;
    w=0;
    e3=0-e2;
    for (i=a; i<=b;i=i+e1)
        {
        
        if (q<e2||q>e3) 
            {
            cout << " Ответ:  " << i << "  Результат:  " << f(a,b,e1,e2) << endl;//
            w=1;
            }
        }
    {
if (w==0);          
cout << "Ответов нет";
    }           
getch();
}
}
мне выдает такие ошибки:
documents\visual studio 2010\projects\123\123\123.cpp(12): warning C4244: 'return' : conversion from 'double' to 'int', possible loss of data
documents\visual studio 2010\projects\123\123\123.cpp(28): error C2660: 'f' : function does not take 4 arguments
documents\visual studio 2010\projects\123\123\123.cpp(34): warning C4390: ';' : empty controlled statement found; is this the intent?
как это исправить?

Добавлено через 18 минут
осталось исправить:
documents\visual studio 2010\projects\123\123\123.cpp(28): error C2660: 'f' : function does not take 4 arguments
остальное исправил

Добавлено через 33 минуты
поднимаю

Добавлено через 10 часов 10 минут
Поднимаю

Добавлено через 14 часов 33 минуты
дайте ответ
ruslannos
10 / 10 / 0
Регистрация: 17.11.2011
Сообщений: 84
21.12.2011, 03:39  [ТС] #10
Вот программа для задания: создать программу, которая находит все корни уравнения на заданном интервале [a;b] с заданной точностью (задается пользователем). Программа должна выводить список корней (при этом корни не должны повторяться) либо выводить соответствующее сообщение, если корней нет.С помощью функций.
5*x^2*sin(1/(3ƖxƖ+2))+1=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
// laba primer.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#include <clocale>
using namespace std;
 
double nos (double a, double b, double e1,double e2)
{
    double e3,x,q,i;
    e3=0-e2;
    for (i=a; i<=b;i=i+e1)
    {
        x=i;
        q =5*x*x*sin(1/(3*x+2)) + 1;
        if (q<e2||q>e3)
        {
            cout << " Число:  " << x << "  Результат:  " << q << endl;
        }
    }
    return (0);
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_CTYPE, "rus");
    double a,b,e1,e2;
    cout << "Введите a,b; e1 как шаг и e2 для определения правильности решения" << endl;
    cin >>a>>b>>e1>>e2;
    nos (a,b,e1,e2);
    _getch();
    return (0);
}
Может кому пригодится,отдаю просто так.Спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2011, 03:39
Привет! Вот еще темы с ответами:

Отыскать все корни нелинейного уравнения f(x) = 0 с точностью до 10^-3 - C++
1) при помощи метода простой итерации; 2) дихотомии показать отделение корней, т.е. найти интервал (a, b), на концах которого...

Найти корни квадратного уравнения с высокой точностью - C++
Помогите пожлуйста. найти корни квадратного уравнения с высокой точностью . (до 30-40 после запятой знаков или больше)...

Найти корни уравнения методом Ньютона с произвольной точностью - C++
Найти корни уравнения y = f(x) методом Ньютона. Точность подбирается самостоятельно. Формулы для расчета арктангенса, … находятся...

Найти корень уравнения на заданном интервале методом Ньютона - C++
Найти корень уравнения на интервале с заданной пользователем точностью e + 2.4x − 3.7 = 0. Методом Ньютона, =


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.12.2011, 03:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru