Witam wszystkich, chciałbym posortować tablicę dwuwymiarową względem pierwszej kolumny:
wejscie:
1 3
4 5
2 1
3 4
wyjście:
1 3
2 1
3 4
4 5
Proszę o podpowiedzi jak to zrobić. Z góry dziękuje za wszelkie podpowiedzi.
Witam wszystkich, chciałbym posortować tablicę dwuwymiarową względem pierwszej kolumny:
wejscie:
1 3
4 5
2 1
3 4
wyjście:
1 3
2 1
3 4
4 5
Proszę o podpowiedzi jak to zrobić. Z góry dziękuje za wszelkie podpowiedzi.
#include <iostream>
#include <map>
using namespace std;
int main() {
multimap<int, int> map = {
{1, 3},
{4, 5},
{2, 1},
{3, 4}
};
for(const auto &pair : map)
cout << pair.first << ": " << pair.second << endl;
return 0;
}
Dzięki spartanPAGE, chciałbym z tego skorzystać lecz wyskakuje mi błąd..
to jak wyskakuje blad to wez mlotek i go wloz tam skad wychodzi.
Musisz operować na min.C++11 aby ten kod działał.
OK a co jeśli mam tablice np. tab[i][j] czyli:
1 3
4 5
2 1
3 4
a chciałbym na wyjściu mieć tak jak poniżej ale chce operować na tablicy, którą już mam. Liczby wczytuje z pliku
wyjście:
1 3
2 1
3 4
4 5
Proszę o podpowiedź.
Tutaj robiłem kiedyś sortowanie tablicy 2D tradycyjnie.
Napisać własną funkcję sortującą. A jak chcesz korzystać z gotowych rozwiązań, to musisz jakoś powiązać jedną kolumnę z drugą, czy to poprzez std::map
, czy też trzymanie 2 liczb w std::pair
/strukturze.
Zmapuj swoje tablice i voilà
Ktoś ma może jeszcze jakiś pomysł ?
kamil1022 napisał(a):
Ktoś ma może jeszcze jakiś pomysł ?
Tak, możesz użyć udostępnionych Ci gotowych pomysłów i rozwiązań.
Dzięki za podpowiedź. Na pewno skorzystam :)