Другие языки программирования и технологии

Найти самое большое число с++

Пользователь вводит следующие данные:
n1
n2
n3
нужно взять самое большое число и вычитать из него самое малое
// C++17
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class Box {
public:
void add(const long value) { box_.push_back(value); }
[[nodiscard]]
long long difference()const noexcept {
auto[min, max] = minmax_element(box_.begin(), box_.end());
return long long(*max) - *min;
}
private:
vector<long> box_;
};
int main() {
const auto buffer = 3U;
Box box;
long value;
for (auto i = 0U; i < buffer; ++i) {
cout << ">>> ";
cin >> value;
box.add(value);
}
const auto difference = box.difference();
cout << "difference: " << difference << '\n';
system("pause");
}
UU
Utwig Utwig
78 479
Лучший ответ
Примерно так:

int min(int a, int b)
{
if (a < b)
return a;
return b;
}

int max(int a, int b)
{
return a+b - min(a,b);
}

...

cout >> max(max(n1, n2), n3) - min(min(n1, n2), n3);
Александр Гончаренко а зачем переменные а и б
void Delta (int& mn, int& mx, int& nn);
void main(void)
{
int nnn[3]; int n; int min=0; int max=0;

cout<<"Введите число n1 = "; cin>>n; min= n; max= n; nnn[0]= n;

for (int i=1; i<3; i++)
{ cout<<"Введите число n"<<(i+1)<<" = "; cin>>n;
nnn[i]= n; Delta (min, max, n); }

cout<<"Разность максимума и минимума = "<<(max-min);
getch();
return;
}

void Delta (int& mn, int& mx, int& nn)
{
if (nnmx) { mx= nn; }
return;
}
Олег Большаков На вырост. Если понадобится выбирать между 10 может быть числами. Тогда индекс массива расширь и в цикле тоже
n3-n1=2n
Vladimir Ded
Vladimir Ded
5 079
Александр Гончаренко забыл дополнить, нужно написать на языке с++
Решение должно быть динамическим, или сначала вводит - а потом вычисляется?
Если второе - то цикл по индексу n и в одну переменную текущее значение, если оно больше ранее сохранённого, во втотрую - если меньше, потом арифметика ;)
Александр Гончаренко сначала вводит