Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Afisare in ordine lexicografica  (Citit de 6327 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
soriyn
Vorbaret
****

Karma: 24
Deconectat Deconectat

Mesaje: 150



Vezi Profilul
« : Decembrie 20, 2010, 01:10:53 »

Salut !

Am un vector de structuri de date. Stuctura contine, printre altele, un vector de tip char in care retin un cuvant.  Cum pot,eventual optim, sa afisez cuvintele din vector in ordine lexicografica ?
Memorat
toni2007
Nu mai tace
*****

Karma: 160
Deconectat Deconectat

Mesaje: 663



Vezi Profilul
« Răspunde #1 : Decembrie 20, 2010, 02:06:35 »

Cod:
vector <string> Sol;

int main () {
    sort(Sol.begin(), Sol.end());
    std::copy(Sol.begin(), Sol.end(), std::ostream_iterator<string>(std::cout, "\n"));
}
Memorat
dornescuvlad
Nu mai tace
*****

Karma: -138
Deconectat Deconectat

Mesaje: 234



Vezi Profilul
« Răspunde #2 : Decembrie 20, 2010, 15:06:00 »

Cod:

#include <algorithm>
...
...

struct elev
{
   char nume[30]; //cuvant din structura ta
   int varsta, etc;
}clasa[2000];

int cmp(elev &a, elev &b) //criteriul dupa care vrei sa sortezi, adica lexicografic dupa nume
{
    if(strcmp(a.nume, b.nume) < 0)
              return 1; //adevarat pentru ca a si b sunt in ordine;
   return 0; //trebuie facuta schimbarea
}

int main()
{
    //citesti
    sort(clasa+ 1, clasa + n + 1, cmp);//cmp-criteriul dpa care sortezi
    return 0;
}


Imi cer scuze daca am gresit ceva, sper ca nu.

  
« Ultima modificare: Decembrie 21, 2010, 08:16:50 de către Gabriel Bitis » Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

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