C++ :: Aufgabe #293
2 Lösungen

Rationale Zahlen einlesen: Mittelwert,Produkt und das Maximum ermitteln
Anfänger - C++
von Cara
- 10.05.2020 um 21:54 Uhr
Schreiben Sie ein Programm, das n rationale Zahlen einliest / einlesen kann und den Mittelwert, das Produkt und das Maximum dieser Zahlen ermittelt und ausgibt.
Lösungen:

// C++ 11 #include <algorithm> #include <iostream> #include <vector> #include <string> #include <numeric> using namespace std; int main() { auto max_numbers{ 0 }; auto counter{ 0 }; vector<double> vec_numbers; cout << "Anzahl der einzugebenen Zahlen: "; cin >> max_numbers; cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); if (max_numbers < 1) { cout << "Das war keine positive Zahl!"; return 0; } while (max_numbers != counter) { auto number{ 0.0 }; cout << "Bitte Gleitkommazahl " << ++counter << " von " << max_numbers << " eingeben: "; cin >> number; cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); vec_numbers.push_back(number); } auto cnt = vec_numbers.size(); auto sum = accumulate(vec_numbers.begin(), vec_numbers.end(), 0.0); auto avg = sum / vec_numbers.size(); auto min = *min_element(vec_numbers.begin(), vec_numbers.end()); auto max = *max_element(vec_numbers.begin(), vec_numbers.end()); auto pro{ 1.0 }; for (const auto& p : vec_numbers) pro *= p; cout << "\nAlle Zahlen: "; for (const auto& n : vec_numbers) cout << n << " "; cout << "\nAnzahl Zahlen: " << cnt << "\nSumme: " << sum << "\nMittelwert: " << avg << "\nMinimum: " << min << "\nMaximum: " << max << "\nProdukt: " << pro << endl; }

#include <iostream> #include <vector> #include <cmath> #include <climits> using namespace std; long getmax(vector<long> v) { long max = v.at(0); for(auto val : v) { if(max < val) { max = val; } } return max; } long getprod(vector<long> v) { long prod = 1; for(auto val : v) { prod *= val; } return prod; } long getavg(vector<long> v) { long avg = 0; for(auto val : v) { avg += val; } avg /= v.size(); return avg; } int main() { int num, n; long prod, avg, max; vector<long> vec; do { cout << "Wieviele Zahlen > 0 sollen eingegeben werden: "; cin >> n; } while(n <= 0); while(n-- > 0) { cout << "Zahl eingeben: "; cin >> num; vec.push_back(num); } max = getmax(vec); prod = getprod(vec); avg = getavg(vec); cout << "\nMaximum: " << max << "\n"; cout << "Produkt: " << prod << "\n"; cout << "Mittelwert: " << avg << "\n"; }