Zadatak mi je ucitati podatke iz 3 text datoteke i sortirati ih od najboljeg prema najgorem, zamislimo da su skijaši oznaceni s rednim brojem i vremenom utrke min:sek, znaci treba ih ucitati iz te 3 datoteke, sortirati i na kraju ispisati po plasmanu.
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct Natjecatelj{
int redniBroj;
Vrijeme rezultat;
};
struct Vrijeme{
int sek;
int sto;
};
struct Natjecatelj{
int redniBroj;
Vrijeme rezultat;
};
int _tmain(int argc, _TCHAR* argv[])
{
int brojNatjecatelja;
int i,j;
// 3 datoteke
Natjecatelj polufinale1[8];
Natjecatelj polufinale2[8];
Natjecatelj polufinale3[8];
ifstream ulaz1; //ucitavanje datoteke
ulaz1.open("polufinale01.txt");
if(!ulaz1){
cout << "Ne valja" << endl;
system ("pause");
return 0;
}
int sifraNatjecatelja=0; //koliko sam podataka ucitao
while(!ulaz1.eof()){
string linija;
getline (ulaz1,linija);
polufinale1[sifraNatjecatelja].redniBroj=atoi(linija.substr(0,linija.find(' ')).c_str());
linija.erase(0,linija.find(' ')+1);
polufinale1[sifraNatjecatelja].rezultat.sek=atoi(linija.substr(0,linija.find(':')).c_str());
linija.erase(0,linija.find(':')+1);
polufinale1[sifraNatjecatelja].rezultat.sto=atoi(linija.c_str());
sifraNatjecatelja++;
}
system ("pause");
return 0;
}
Ovdje sam stao i jednostavno ne znam dalje… netko pomoć?
Unaprijed hvala.
Algoritam po kojem se sortira je isti kao i kod običnih nizova, s tim što se ovdje radi sa strukturama, odnosno složenim tipovima, i za to ti je potrebna jedna funkcija koja će zamjeniti članove struktura, u slučaju da je kriterij zadovoljen. Obzirom da se radi o malom broju podataka, ovo će proći. U slučaju da radiš s velikom količinom podataka, pogledaj QuickSort algoritam.
Pretpostavio sam da je polufinale1 niz struktura koje želiš sortirati po rezultatu, i da je sifraNatjecatelja ukupan broj članova niza strukura.
U tom slučaju slijedeći kod bi trebao raditi.
EDIT: Pretpostavio sam i da unos podataka iz datoteke u strukturu radi ispravno.
[quote=“igor”]Algoritam po kojem se sortira je isti kao i kod običnih nizova, s tim što se ovdje radi sa strukturama, odnosno složenim tipovima, i za to ti je potrebna jedna funkcija koja će zamjeniti članove struktura, u slučaju da je kriterij zadovoljen. Obzirom da se radi o malom broju podataka, ovo će proći. U slučaju da radiš s velikom količinom podataka, pogledaj QuickSort algoritam.
Pretpostavio sam da je polufinale1 niz struktura koje želiš sortirati po rezultatu, i da je sifraNatjecatelja ukupan broj članova niza strukura.
U tom slučaju slijedeći kod bi trebao raditi.
EDIT: Pretpostavio sam i da unos podataka iz datoteke u strukturu radi ispravno.