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

1 Lösung Lösung öffentlich
#350

Produkt der 2 größten Elemente eines Arrays

Anfänger - C++ von JKooP - 01.04.2021 um 11:53 Uhr
Erstelle eine Methode/Funktion, die das Produkt der beiden größten Elemente eines Arrays berechnet.

array = { 1, 7, 5, 9, 2, 3 }

Lösung:
(7 * 9) = 63

Je nach Vorliebe bzw. Programmiersprache können natürlich auch Listen oder Vektoren genutzt werden.

Viel Spaß
#1
vote_ok
von JKooP (18090 Punkte) - 01.05.2021 um 17:32 Uhr
C++ 17
n gibt die Anzahl der größten Elemente an.
Quellcode ausblenden C-Code
int main()
{
	vector<int> v{ 1, 7, 5, 9, 2, 3 };
	auto r{ get_product_of_max_values(v, 2) };
	std::cout << r << endl;
}

Variante 1:
Quellcode ausblenden C-Code
int get_product_of_max_values(vector<int> v, int n) {

	sort(v.begin(), v.end());
	auto p{ 1 };

	while (n--) {
		p *= v.back();
		v.pop_back();
	}

	return p;
}

Variante 2:
Quellcode ausblenden C-Code
int get_product_of_max_values(vector<int> v, int n) {

	auto p{ 1 };

	while (n--) {
		auto m{ *max_element(v.begin(), v.end()) };
		p *= m;
		v.erase(remove(v.begin(), v.end(), m), v.end());
	}

	return p;
}

Kommentare:

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

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