Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 3.708 pregleda

Najnovija ↓

[Zadatak] Funkcija qsort() 25.05.2008. u 14:53 · pre 224 meseca
izmenjeno 2 puta, poslednji put leteci_medvjedic 25.05.2008. u 17:19
  1. leteci_medvjedic25.05.2008. u 17:19zapis iz teksta poruke
  2. X Files25.05.2008. u 15:33zapis iz teksta poruke
#1
evo dio koda...

Code:

struct radnik
        {
            char ime[32];
            char prezime[33]; 
            float placa;
            char poduzece[32];
        }rdnk[9];

void f1(){
        for (i=0;i<10;i++)
        {
            cout<<"\nRadnik "<<i+1<<endl;
            cout<<"Ime: ";
            cin>>rdnk[ i ].ime;
            cout<<"Prezime: ";
            cin>>rdnk[ i ].prezime;
            cout<<"Placa: ";
            cin>>rdnk[ i ].placa;
            cout<<"Poduzece: ";
            cin>>rdnk[ i ].poduzece;
        }//for
}

to je znači funkcija u koju upisujemo u ovu gore strukturu...
i sad u drugoj funkciji trebam sortirati te radnike po visini plaće upotrebom quick sorta... hmm... i to nikak da mi krene... znam da ima u cstdlib-u funkcija qsort() al ne znam kak da ju upotrijebim..il kak da složim nešto od tog...

molim pomoćććććććććććććććć....

hvalaaaaaaaaaaa...
Re: [Zadatak] Funkcija qsort() 26.05.2008. u 09:31 · pre 224 meseca #2
qsort() kao prvi argument prihvata pokazivac na pocetak niza, ovde bi to bio rdnk. Drugi argument je broj elemenata niza, 9 u ovom slucaju. Treci argument je velicina tipa koji se nalazi u nizu, ovde je sizeof(struct radnik).
Poslednji argument je pokazivac na funkciju koja definise poredjenje medju elementima tipa koji se nalazi u nizu. Ovde bi to bilo nesto tipa
Code:

int compare(const void* a, const void* b)
{
  struct radnik* aa = static_cast<struct radnik*>(a);
  struct radnik* bb = static_cast<struct radnik*>(b);
// ovde sad definisi kriterijum po kojem ce se porediti radnici, neka bude npr. po velicini plate
  if (aa->placa < bb->placa)
    return -1;
  else if (aa->placa > bb->placa)
    return 1;
  return 0;
}

Ovo je pisano iz glave, tako da treba da testiras kod. Na http://www.cppreference.com/stdother/qsort.html imas nesto detaljnije uputstvo.
Potpis
Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme