» »

Ne vem več, res ne....

Ne vem več, res ne....

teac ::

Mam eno nalogo v c++. Vpisujem podatke o neki ekipi pač. Vnest morem tudi neke čase. Npr. da vnesem dva časa, ki jih morem potem seštet. V redu! Vendar se mi pri izpisu teh slipnih časov zgodi nekaj, za kar ne vem razloga.
Namreč...ko hočem izpisat te skupne čase sortirane od največjega do najmanjšega, mi program te izpise rotira. Kako?
Jaz vpišem podatke. V meniju grem na izpise in izpis po skupnem času. Če grem sedaj še enkrat na izpis po skupnem času, bo čas, ki je bil prej na prvem mestu sedaj na drugem, naslednjič na tretjem....itd..odvisno pač, koliko čsaov oz. ekip sem vpisal. V glavnem vse skupaj rotira.
Spodaj je funkcija, ki sem jo uporabil za, najprej za seštevanje dveh časov, potem pa še za sortiranje seštetih časov. Če kdo ve, kaj je narobe....lahko pa mu pošljem tudi celo nalogo! Jaz namreč RES ne vem več, kaj je narobe!:( Aja, vse skupaj je narejeno z strukturami.

void sortiraj_po_skupnem_casu(ekipa a[], int st_ekip)
{
int vsota[10];
for(int i=0; i {
a[i].podatki_c.minute = a[i].podatki_c.minute_1 + a[i].podatki_c.minute_2;
a[i].podatki_c.sekunde = a[i].podatki_c.sekunde_1 + a[i].podatki_c.sekunde_2;
a[i].podatki_c.stotinke = a[i].podatki_c.stotinke_1 + a[i].podatki_c.stotinke_2;

if(a[i].podatki_c.stotinke > 1000)
{
int temp = a[i].podatki_c.stotinke - 1000;
a[i].podatki_c.sekunde = a[i].podatki_c.sekunde + 1;
a[i].podatki_c.stotinke = temp;
}
else if(a[i].podatki_c.stotinke==1000)
{
a[i].podatki_c.sekunde += 1;
a[i].podatki_c.stotinke=0;
}
else
{}

if(a[i].podatki_c.sekunde > 60)
{
a[i].podatki_c.sekunde -= 60;
a[i].podatki_c.minute += 1;
}
else if(a[i].podatki_c.sekunde == 60)
{
a[i].podatki_c.minute += 1;
a[i].podatki_c.sekunde = 0;
}
else
{}
}

for(int prehod=1; prehod < st_ekip; prehod++)
for(int i=0; i < st_ekip-1; i++)
{
vsota[i] = 0;
vsota[i]=a[i].podatki_c.minute+[i].podatki_c.sekunde+a[i].podatki_c.stotinke;
if(vsota[i] > vsota[i+1])
zamenjaj(a[i], a[i+1]);
}
}

  • spremenilo: teac ()

cyer^3d ::

No no...brez slabe volje prosim:D

Kot prvo nekaj napak npr. kot je ta:

"for(int i=0; i { " je verjetno zasluga foruma.

...znebi se teh kosov kode:
"
}
else
{}
" - halo, premisli - ali res rabis to? - its time for reading books:)

...imas se par cvetk, ki niso sedaj vazne.

glede tvojega problema pa...
cisto na koncu imas 2 for zanki. Notri BAJE sestejes case in sortiras. huh huh:D
Raje razdeli to nalogo na 2 dela. V prvem SAMO sestej vsote in jih shrani v tabelo. Tako bos imel lepo tabelo z 10 vsotami, ki pa verjetno ne bodo sortirane. Torej vse kar ti preostane je se da sortiras to tabelo...ce hoces bubble prav naj bo pa bubble:)

pa povej kako ti je slo...

teac ::

Glede tistega else{}...ja, brezveze res. Tisti dve for zani pa sta bubble sort ja. Kaj več tukaj ne rabim, ker ne gre za neko strašno razliko oz. jaz ne rabim ne vem kako hitrega sortiranja, tako da je ta bubble sort čisto zadosti.
Bom pa res to funkcjo razdleil na dva dela. Upam, da bo delal v redu.


Vredno ogleda ...

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

Algoritmi za urejanje tabel

Oddelek: Programiranje
51226 (963) lebdim
»

java pomoč

Oddelek: Programiranje
211968 (1360) kr?en
»

c++ in linux/windows

Oddelek: Programiranje
121728 (1604) rapvirus
»

Pomoč pri c++ razlaga

Oddelek: Programiranje
192313 (2055) Person
»

sortirni algoritem v Cju

Oddelek: Programiranje
61436 (1288) GaPe

Več podobnih tem