C++ :: Aufgabe #301
1 Lösung

Differenz(en) von Eingabewerten
Fortgeschrittener - C++
von JKooP
- 04.10.2020 um 12:26 Uhr
Schreibe eine Methode/Funktion, die die maximale bzw. minimale Differenz von Eingabewerten ermittelt.
z.B. f(3, -2, 18, -1, 50)
Min: 1, da Absolut(-2 - -1) = 1
Max: 52, da Absolut(50 - -2) = 52
Viel Spaß
z.B. f(3, -2, 18, -1, 50)
Min: 1, da Absolut(-2 - -1) = 1
Max: 52, da Absolut(50 - -2) = 52
Viel Spaß
Lösungen:
C++ 17
C-Code

#include <iostream> #include <tuple> #include <vector> #include <algorithm> using namespace std; tuple<double, double> get_difference(vector<double> p) { sort(p.begin(), p.end()); double min = 0, max = 0; if (p.size() > 1) max = abs(*max_element(p.begin(), p.end()) - *min_element(p.begin(), p.end())); if (p.size() > 2) min = abs(p[1] - *min_element(p.begin(), p.end())); return make_tuple(max, min); } int main() { auto diff{ get_difference({ 3, -2, 18, -1, 50 }) }; std::cout << "Max: " << get<0>(diff) << "\tMin: " << get<1>(diff); }