C++ :: Aufgabe #350

1 Lösung Lösung öffentlich

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ß

Lösungen:

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;
}
1813598

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.