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

Найти корни уравнения - C++

Восстановить пароль Регистрация
 
Bravo48
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 17
18.12.2012, 19:58     Найти корни уравнения #1
Здравствуйте, хотел попросить добрых людей о помощи с написанием совсем простейшей программы, функция которой - возведение числа "x" в степень "a+b". Должна получиться программа, решающая уравнение y=x^(a+b).

Учусь на первом курсе, не успели привыкнуть к Basic - просят переделать все программы, что "писали" на Basic, на С++. Сижу в совсем авральном положении, судорожно пытаюсь понять, что - куда и к чему. Слезно и коленопреклонно прошу помочь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 19:58     Найти корни уравнения
Посмотрите здесь:

Найти корни уравнения C++
Найти корни уравнения ах2 +bx+c=0 C++
C++ Найти корни квадратного уравнения
C++ Найти корни квадратного уравнения
Найти корни квадратного уравнения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_andrew_
22 / 22 / 3
Регистрация: 14.11.2012
Сообщений: 64
18.12.2012, 20:05     Найти корни уравнения #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<conio.h>
#include<math.h>
using namespace std;
int main()
{
    int x,y,a,b;
    cout<<"Vvedite x: "<<endl;
    cin>>x;
    
    cout<<"Vvedite a: "<<endl;
    cin>>a;
    
    cout<<"Vvedite b: "<<endl;
    cin>>b;
    
y=pow(x,(a+b));
cout<<"Otvet raven: \n"<<y;
getch();
return 0;
}
Bravo48
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 17
18.12.2012, 20:08  [ТС]     Найти корни уравнения #3
Если не ошибаюсь, то операция должна выглядеть так: y=exp(x*ln(a+b)). Я не прав?

Добавлено через 1 минуту
А, значит, все-таки через pov. В меру того, что начинающий, не был уверен, можно ли через эту функцию проделывать подобное возведение не в число, а в степень, равную сумме чисел.

Добавлено через 22 секунды
Спасибо большое!
Дмитрий 93
74 / 59 / 5
Регистрация: 03.06.2011
Сообщений: 309
18.12.2012, 20:08     Найти корни уравнения #4
Цитата Сообщение от Bravo48 Посмотреть сообщение
Если не ошибаюсь, то операция должна выглядеть так: y=exp(x*ln(a+b)). Я не прав?
если не ошибаюсь функция возведения в степень в с++ это pow(x,y) где x это переменная, y это показатель степени
Ares_Sorokin
0 / 0 / 0
Регистрация: 21.09.2012
Сообщений: 6
18.12.2012, 20:10     Найти корни уравнения #5
Если не ошибаюсь, функция

float powf(float base, float exp);
double pow(double base, double exp);
long double powl(long double base, long double exp);

Она с int не работает.Исправьте int на float например.
_andrew_
22 / 22 / 3
Регистрация: 14.11.2012
Сообщений: 64
18.12.2012, 20:12     Найти корни уравнения #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Дмитрий 93 Посмотреть сообщение
если не ошибаюсь функция возведения в степень в с++ это pow(x,y) где x это переменная, y это показатель степени
Вы не ошибаетесь)

Добавлено через 1 минуту
Цитата Сообщение от Ares_Sorokin Посмотреть сообщение
Если не ошибаюсь, функция

float powf(float base, float exp);
double pow(double base, double exp);
long double powl(long double base, long double exp);

Она с int не работает.Исправьте int на float например.
А вы ошибаетесь.
Bravo48
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 17
18.12.2012, 20:16  [ТС]     Найти корни уравнения #7
А если у меня значения x, a, b заданы, то я задаю их как

C++
1
2
3
int x=5;
int a=2.8;
int b=8.2;
Я прав?
_andrew_
22 / 22 / 3
Регистрация: 14.11.2012
Сообщений: 64
18.12.2012, 20:22     Найти корни уравнения #8
Не совсем:
C++
1
2
3
int x=5;
float a=2.8;
float b=8.2;
Ares_Sorokin
0 / 0 / 0
Регистрация: 21.09.2012
Сообщений: 6
18.12.2012, 20:22     Найти корни уравнения #9
Цитата Сообщение от _andrew_ Посмотреть сообщение
А вы ошибаетесь.
Если я ошибаюсь,тогда я не знаю почему у меня Visual Studio 2010 не компилит кусок кода:
C
1
2
    int varX, varA, varB;
    pow(varX, varA + varB);
Подключил библтотеку math.h...Может не ту?
Дмитрий 93
74 / 59 / 5
Регистрация: 03.06.2011
Сообщений: 309
18.12.2012, 20:25     Найти корни уравнения #10
Bravo48

вы ошибаетесь)) переменные a b у вас с точкой, значит они вещественные. компилятор негодовать будет. да и результату вычислений не помешает присвоить вещественный тип
_andrew_
22 / 22 / 3
Регистрация: 14.11.2012
Сообщений: 64
18.12.2012, 20:32     Найти корни уравнения #11
Ares_Sorokin

У меня DevC++. С Visual Studio не дружу, поэтому не в курсе, у меня все работает. Ищите, где у вас библиотеки и там посмотрите math.h (math).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2012, 20:32     Найти корни уравнения
Еще ссылки по теме:

Найти корни уравнения C++
Найти корни квадратного уравнения C++
C++ Найти корни нелинейного уравнения

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

Или воспользуйтесь поиском по форуму:
Дмитрий 93
74 / 59 / 5
Регистрация: 03.06.2011
Сообщений: 309
18.12.2012, 20:32     Найти корни уравнения #12
Ares_Sorokin

C++
1
2
float varX, varA, varB;
    pow(varX, varA + varB);
например
Yandex
Объявления
18.12.2012, 20:32     Найти корни уравнения
Ответ Создать тему
Опции темы

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