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

2 Lösungen Lösungen öffentlich
#293

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.
#1
vote_ok
von JKooP (18090 Punkte) - 24.07.2020 um 17:18 Uhr
Quellcode ausblenden C-Code
// 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;
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben