• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Największe elementy tablicy

0 głosów
804 wizyt
pytanie zadane 25 listopada 2017 w C i C++ przez Postal192 Początkujący (270 p.)
W jaki sposób mogę znaleźć 6 największych elementów tablicy?

1 odpowiedź

0 głosów
odpowiedź 25 listopada 2017 przez niezalogowany

Możesz np sortować tablicę malejąco i wypisać 6 pierwszych liczb:

#include <iostream>
#include <algorithm>
#include <array>

int main()
{
	std::array<int, 10> array = {2, 3, 5, 10, 11, 15, 1, 4, 33, 9};
	// I sposob:
	std::sort(array.rbegin(), array.rend());
	for (size_t i = 0; i < 6; ++i)
	{
		std::cout << array[i] << "\n";
	}

	std::cout << "\n";
    array = {2, 3, 5, 10, 11, 15, 1, 4, 33, 9};

    // II sposob:
	std::nth_element(array.rbegin(), array.rbegin() + 1, array.rend());
	for (size_t i = 0; i < 6; ++i)
	{
		std::cout << array[i] << "\n";
	}
}
komentarz 25 listopada 2017 przez Postal192 Początkujący (270 p.)
Niestety, ale w późniejszym etapie muszę operować jeszcze na indeksach tych wartości, więc takie rozwiązanie odpada.
komentarz 25 listopada 2017 przez Jakub Nowacki Początkujący (470 p.)
To może zamiast zwykłej tablicy użyć jakiegoś słownika. Kluczem będzie indeks, wartością będzie liczba. Posortujesz słownik malejąco po wartościach i masz pierwsze 6 największych liczb, a przy okazji nadal masz zachowane indeksy w kluczach. Nie wiem czy o takie coś Ci chodziło?

Podobne pytania

0 głosów
3 odpowiedzi 393 wizyt
pytanie zadane 30 listopada 2022 w JavaScript przez Lidzia Koziura Początkujący (290 p.)
0 głosów
2 odpowiedzi 1,459 wizyt
0 głosów
3 odpowiedzi 7,517 wizyt
pytanie zadane 2 listopada 2019 w Python przez Karpik Użytkownik (680 p.)

93,743 zapytań

142,680 odpowiedzi

323,299 komentarzy

63,330 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...