Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: sortare matrice  (Citit de 6802 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
deneo
Vorbaret
****

Karma: 185
Deconectat Deconectat

Mesaje: 160



Vezi Profilul
« : Ianuarie 10, 2012, 20:34:41 »

cum sortezi o matrice folosind sort-ul din STL?
am creat o functie care compara 2 vectori. dar nu stiu cum e cel mai bine de a sorta matricea folosind sort-ul
vreo idee ? ms
Memorat
maritim
Vorbaret
****

Karma: 59
Deconectat Deconectat

Mesaje: 176



Vezi Profilul
« Răspunde #1 : Ianuarie 10, 2012, 23:44:12 »

Ai putea sa folosesti un vector suplimentar care sa pastreze indicii liniilor matricei, si sa sortezi lista aceasta de indici, comparand de fiecare data liniile intre ele.

Cod:
...

int cmp(int a,int b)
{
    //A[][]
    return A[a] < A[b]; //functia de comparare
}

...

int main()
{
    citeste(A);

    for(int i=1;i<=[Numar linii];i++)
       B[i] = i;

    sort(B+1,B+N+1,cmp);

    return 0;
}
« Ultima modificare: Ianuarie 10, 2012, 23:50:27 de către Lambru Andrei Cristian » Memorat
S7012MY
Nu mai tace
*****

Karma: 26
Deconectat Deconectat

Mesaje: 648



Vezi Profilul
« Răspunde #2 : Ianuarie 10, 2012, 23:59:02 »

Vectorii din stl au definiti operatorul " < " deci cred ca daca faci vector<int> matr[dim]; si sort(matr,matr+n); s-ar putea sa mearga
Memorat
tzipleatud
De-al casei
***

Karma: 104
Deconectat Deconectat

Mesaje: 117



Vezi Profilul
« Răspunde #3 : Ianuarie 12, 2012, 13:23:46 »

Nu stiu dupa ce criteriu vrei sa il sortezi dar de ex daca vrei sa sortezi toate elementele din matrice adica din
1 4 5  sa obtii 1 2 3
6 7 8             4 5 6
9 2 3             7 8 9  ai putea sa liniarizezi matricea.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines