Помогите разобратся с алгоритмом (c++)
Задано Два действительных числа x и y (y<>x) Обчислить: (<<на картинки ниже)
Проблема заключается в том, что я не понимаю как сделать это задание
из за: a=min(x,y) и a=max(x,y) , что єто такое ? и как его найти ?
а все остальное вроде понятно:)
все что нужно есть math.h
только вот корень кубический как найти ?
не можешь найти минимум от x и y ?
a = x < y ? x : y;
b = x > y ? x : y;
Код:
y = pow ( x, ( 1.0 / 3.0 ) );
а для min max, макросы можно написать
Код:
#define min ( x, y ) ( (x) <= (y) ? (x) : (y) )
#define max ( x, y ) ( (x) >= (y) ? (x) : (y) )
#define max ( x, y ) ( (x) >= (y) ? (x) : (y) )
~ArchimeD~ спасибо! :)
Цитата: bobik02
~ArchimeD~ спасибо! :)
Если хочешь сказать спасибо ~ArchimeD~ использую репутацию,не будем захламлять раздел этими благодарностями.
Цитата: m_Valery
Если хочешь сказать спасибо ~ArchimeD~ использую репутацию,не будем захламлять раздел этими благодарностями.
понял, больше не буду ! :)
~
но мне что то кажется что макросы - плохой тон .
я использовал min & max с algorithm.h
вот так решил:
Код:
#include <iostream>
#include <conio>
#include <math>
#include <algorithm> // for min ,max
using namespace std;
#pragma hdrstop
#pragma argsused
// Корень Кубический
double Koren(double k)
{
double Result;
Result = pow ( k, ( 1.0 / 3.0 ) );
return Result;
}
double first1(double x,double y)
{
double Result;
Result = log ( x * x ) + atan (x) ;
return Result;
}
double second1(double x, double y)
{
double Result,tmp;
tmp = exp (x) + log ( y - 4.7 );
Result = Koren (tmp);
return Result;
}
double first2 (double x, double y)
{
double Result,a,b;
a = min ( x, y );
b = max ( x, y );
Result = exp (a) - exp (b);
return Result;
}
double second2 (double x, double y)
{
double Result, a, tmp;
a = min ( x, y );
tmp = sin(a);
Result = pow( tmp, 2 ) ;
return Result;
}
int main(int argc, char* argv[])
{
clrscr();
double x , y ;
cout << " Enter x : " ;
cin >> x;
cout << " Enter y : " ;
cin >> y;
if (x == y)
{cout << "Error, X = Y (x must don't = y), press any key to Exit" ;}
else
{
double Z;
Z = first1(x, y) / second1(x, y) + first2(x, y) / second2(x, y);
cout << "*********************************" << endl;
cout << "Result: " << Z << endl;
}
getch();
return 0; // ok
}
#include <conio>
#include <math>
#include <algorithm> // for min ,max
using namespace std;
#pragma hdrstop
#pragma argsused
// Корень Кубический
double Koren(double k)
{
double Result;
Result = pow ( k, ( 1.0 / 3.0 ) );
return Result;
}
double first1(double x,double y)
{
double Result;
Result = log ( x * x ) + atan (x) ;
return Result;
}
double second1(double x, double y)
{
double Result,tmp;
tmp = exp (x) + log ( y - 4.7 );
Result = Koren (tmp);
return Result;
}
double first2 (double x, double y)
{
double Result,a,b;
a = min ( x, y );
b = max ( x, y );
Result = exp (a) - exp (b);
return Result;
}
double second2 (double x, double y)
{
double Result, a, tmp;
a = min ( x, y );
tmp = sin(a);
Result = pow( tmp, 2 ) ;
return Result;
}
int main(int argc, char* argv[])
{
clrscr();
double x , y ;
cout << " Enter x : " ;
cin >> x;
cout << " Enter y : " ;
cin >> y;
if (x == y)
{cout << "Error, X = Y (x must don't = y), press any key to Exit" ;}
else
{
double Z;
Z = first1(x, y) / second1(x, y) + first2(x, y) / second2(x, y);
cout << "*********************************" << endl;
cout << "Result: " << Z << endl;
}
getch();
return 0; // ok
}