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
1819155

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.