
C/C++
C++ ПОМОГИТЕ ПОЖАЛУЙСТА

#include <iostream>
using namespace std;
template<typename Type, typename... Args>
Type mx(Args... args) {
auto seq = initializer_list<Type>({ args... });
auto mx = *seq.begin();
for (auto value : seq) if (value > mx) mx = value;
return mx;
}
template<typename Type, typename... Args>
Type mn(Args... args) {
auto seq = initializer_list<Type>({ args... });
auto mn = *seq.begin();
for (auto value : seq) if (value < mn) mn = value;
return mn;
}
int main() {
cout << "x, y, z: ";
double x, y, z;
cin >> x >> y >> z;
auto min_xy = min(x, y);
auto max_xy = max(x, y);
auto max_xyz = mx<double>(x, y, z);
auto min_xyz = mn<double>(x, y, z);
auto max_xyz_xy = max(x + y + z, x * y);
auto min_xy2_z2x = min(x + y / 2, z + 2 * x);
cout
<< "min(x, y) = " << min_xy << '\n'
<< "max(x, y) = " << max_xy << '\n'
<< "max(x, y, z) = " << max_xyz << '\n'
<< "min(x, y, z) = " << min_xyz << '\n'
<< "max(x + y + z, x * y) = " << max_xyz_xy << '\n'
<< "min(x + y /2, z + 2 * x) = " << min_xy2_z2x << '\n';
system("pause > nul");
}
using namespace std;
template<typename Type, typename... Args>
Type mx(Args... args) {
auto seq = initializer_list<Type>({ args... });
auto mx = *seq.begin();
for (auto value : seq) if (value > mx) mx = value;
return mx;
}
template<typename Type, typename... Args>
Type mn(Args... args) {
auto seq = initializer_list<Type>({ args... });
auto mn = *seq.begin();
for (auto value : seq) if (value < mn) mn = value;
return mn;
}
int main() {
cout << "x, y, z: ";
double x, y, z;
cin >> x >> y >> z;
auto min_xy = min(x, y);
auto max_xy = max(x, y);
auto max_xyz = mx<double>(x, y, z);
auto min_xyz = mn<double>(x, y, z);
auto max_xyz_xy = max(x + y + z, x * y);
auto min_xy2_z2x = min(x + y / 2, z + 2 * x);
cout
<< "min(x, y) = " << min_xy << '\n'
<< "max(x, y) = " << max_xy << '\n'
<< "max(x, y, z) = " << max_xyz << '\n'
<< "min(x, y, z) = " << min_xyz << '\n'
<< "max(x + y + z, x * y) = " << max_xyz_xy << '\n'
<< "min(x + y /2, z + 2 * x) = " << min_xy2_z2x << '\n';
system("pause > nul");
}
Mircea Bordea
Николай, как Вы думаете, можно ли использовать перегрузку: написать функции-тёзки с разным количеством параметров?
Жумыс Iстейды: :)
#include<stdio.h>
#include<math.h>
int main()
{
float x=0,y=0,z=0;
printf("\n %s","x = ");scanf("%f",&x);
printf("\n %s","y = ");scanf("%f",&y);
printf("\n %s","z = ");scanf("%f",&z);
printf("\n min(x,y) = %.2f",fminf(x,y));
printf("\n max(x,y) = %.2f",fmaxf(x,y));
printf("\n max(x,y,z) = %.2f",fmaxf(fmaxf(x,y),z));
printf("\n min(x,y,z) = %.2f",fminf(fminf(x,y),z));
printf("\n max(x+y+z,x*y) = %.2f",fmaxf(x+y+z,x*y));
printf("\n min(x+y/2,z+2*x) = %.2f",fminf(x+y/2,z+2*x));
return 0;
}

#include<stdio.h>
#include<math.h>
int main()
{
float x=0,y=0,z=0;
printf("\n %s","x = ");scanf("%f",&x);
printf("\n %s","y = ");scanf("%f",&y);
printf("\n %s","z = ");scanf("%f",&z);
printf("\n min(x,y) = %.2f",fminf(x,y));
printf("\n max(x,y) = %.2f",fmaxf(x,y));
printf("\n max(x,y,z) = %.2f",fmaxf(fmaxf(x,y),z));
printf("\n min(x,y,z) = %.2f",fminf(fminf(x,y),z));
printf("\n max(x+y+z,x*y) = %.2f",fmaxf(x+y+z,x*y));
printf("\n min(x+y/2,z+2*x) = %.2f",fminf(x+y/2,z+2*x));
return 0;
}

Объявления функций, например:
double min (double x, double y)
{ return x < y? x : y; }
double max (double x, double y)
{ return x > y? x : y; }
Кстати, какой тип данных должен быть у параметров функций? Казахское слово “сандары” мне ни о чём не говорит.
double min (double x, double y)
{ return x < y? x : y; }
double max (double x, double y)
{ return x > y? x : y; }
Кстати, какой тип данных должен быть у параметров функций? Казахское слово “сандары” мне ни о чём не говорит.
Сергей Курепов
/* ОРИЕНТИРОВОЧНЫЙ КОД */
#include <iostream>
using namespace std;
double min (double x, double y) // вычисляет наименьшее
{ return x < y? x : y; }
double max (double x, double y) // вычисляет наибольшее
{ return x > y? x : y; }
double RequestValue () // запрашивает ввод числа
{
double v;
cout << "Введите число: ";
cin >> v;
return v;
}
int main ()
{
double x, y, z;
x = RequestValue ();
y = RequestValue ();
z = RequestValue ();
cout << "min (" << x << ", " << y << ") = " << min (x, y); // остальные пишутся аналогично
return 0;
}
/* код может быть улучшен */
#include <iostream>
using namespace std;
double min (double x, double y) // вычисляет наименьшее
{ return x < y? x : y; }
double max (double x, double y) // вычисляет наибольшее
{ return x > y? x : y; }
double RequestValue () // запрашивает ввод числа
{
double v;
cout << "Введите число: ";
cin >> v;
return v;
}
int main ()
{
double x, y, z;
x = RequestValue ();
y = RequestValue ();
z = RequestValue ();
cout << "min (" << x << ", " << y << ") = " << min (x, y); // остальные пишутся аналогично
return 0;
}
/* код может быть улучшен */
Похожие вопросы
- Знающие C++, помогите пожалуйста:)
- Можно через delete [ ] ? c++ помогите пожалуйста!
- Вывод нечетных номеров, а затем четных в C, помогите пожалуйста
- C++ помогите пожалуйста умоляю!!!!!!!!!!!!
- C++ помогите пожалуйста Организация ветвления с использованием оператора выбора
- C++, помогите пожалуйста.
- Помогите пожалуйста написать код.(C++)
- Помогите пожалуйста - создать 4 массива на c++
- Помогите пожалуйста с C++
- Помогите, пожалуйста решить на C++, используя многомерные статические массивы