» »

C++ : Urejanje nizov

C++ : Urejanje nizov

RiNC ::

Program prejme podatke za 6 oseb, potem pa naj bi vrnil osebe urejene po abecedi (glede na hobije).

Po mojem bi moglo to delat, kar sem si zamislil, pa ne dela.
Nevem zakaj!?
Prevajalnik ne javi nobene napake, niti opozorila, ko pa zazenem exe file, ne dela.

Evo tu je koda:

//PROGRAM ZA DELO S PODATKI O SESTIH OSEBAH

#include
#include

const int st_oseb = 6 ;

struct datum
{
int dan;
int mesec;
int leto;
};

struct oseba
{
char ime[20];
char priimek[20];
datum datumr;
char hobi[100];
};

void IzpisOseb(oseba a[])
{
for (int i = 0; i < st_oseb; i++)
{
cout << "Oseba st." << i+1 << " : " ;
cout << a[i].ime << " " ;
cout << a[i].priimek << ", " ;
cout << a[i].datumr.dan << "." ;
cout << a[i].datumr.mesec << "." ;
cout << a[i].datumr.leto << "," ;
cout << a[i].hobi << endl ;
}
}

void Uredi(oseba a[])
{
for (int i = 0; i < st_oseb; i++)
{
for (int j = 0; i < st_oseb-1; j++)
{
if (strcmp(a[i].hobi, a[j].hobi) < 0)
{
oseba temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}

int main()
{
oseba nekdo[st_oseb];

cout << endl ;
cout << "Vnesi podatke za " << st_oseb << " oseb (ime, priimek, datum rojstva, hobi): " << endl ;
for (int i = 0; i < st_oseb; i++)
{
cout << "Oseba st." << i+1 << " : " ;
cin >> nekdo[i].ime;
cin >> nekdo[i].priimek;
cin >> nekdo[i].datumr.dan;
cin >> nekdo[i].datumr.mesec;
cin >> nekdo[i].datumr.leto;
cin.getline(nekdo[i].hobi, 100, '\n');
}

cout << "------------------------------------------------------------" << endl ;
Uredi(nekdo);
cout << "OSEBE UREJENE PO HOBIJU (po abecedi): " << endl ;
IzpisOseb(nekdo);
cout << "------------------------------------------------------------" << endl ;

return 0;
}

Verjetno je nekaj narobaj s funkcijo Uredi, samo kaj?

Prosim pomagajte!!!

napsy ::

void Uredi(oseba a[])
{
for (int i = 0; i < st_oseb; i++)
{
for (int j = 0; i < st_oseb-1; j++)
{
if (strcmp(a[i].hobi, a[j].hobi) < 0)
{
oseba temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}

pri drugi for zanki: a si prepričan, da je pogoj "i < st_oseb-1" in ne "j < st_oseb-1".

Forum admin: se bi dalo narediti kak tag za kode?
"If you die, you die. But when you live you live. There is no time to waste."

RiNC ::

8-O pol pa ni cudno da ne dela!

Se zgodi, samo jaz sem bulo 1 uro v kodo, pa nisem opazo.

Hvala!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

c problem pri zaključevanju programa

Oddelek: Programiranje
61124 (949) BigWhale
»

[C] čuden izpis iz txt dat. na zaslon

Oddelek: Programiranje
121652 (1389) l0g1t3ch
»

c++ datoteke

Oddelek: Programiranje
464014 (3503) Vesoljc
»

Problem s structurami v c++!!!

Oddelek: Programiranje
6905 (803) BigWhale
»

C problemček

Oddelek: Programiranje
131048 (851) OwcA

Več podobnih tem