Gå til innhold

Tabell sortering ved overføring


Anbefalte innlegg

Skrevet (endret)

Hei!

Lurte på om noen kunne hjelpe meg med dette problemet...

 

for (I=0;I<10;I++)                    
 {
 Min = 0;                                   //(Min er av typt int)
 for (K=1;K<10;K++)         //Men hvorfor skal K settes til ? Det går med 0 også
   if (Tab[K] < Tab[Min])      //(K er av type int, Tab også)
     Min = K;
 Nytab[I] =  Tab[Min];      // Nytab også av type int...
 Tab[Min] = INT_MAX;      //Her står det at verdien strykes.(Blir satt den høyeste
                                      //int verdien som går. Men den strykes da ikke??

 

Setter stor pris på om noen svarer på dette inlegget, dette irriterer meg mer og mer for hver dag som går :thumbdown: ....

 

På forhånd takk...

Endret av zirener
Videoannonse
Annonse
Skrevet

Verdien strykes implisitt, ved at en verdi av INT_MAX aldi vil være minst i en sammenligning mellom verdier av typen int (dette er sortering i stigende rekkefølge eller hva).

Skrevet (endret)
Verdien strykes implisitt, ved at en verdi av INT_MAX aldi vil være minst i en sammenligning mellom verdier av typen int (dette er sortering i stigende rekkefølge eller hva).

sorteres i stigende rekkefølge, helt riktig.

Det jeg ikke skjønner er hvorfor verdien settes til 1 i den for løkka, som sagt funka det også med å sette den til 0....

Endret av zirener
Skrevet (endret)
Hadde vært en fordel hvis du postet hele koden.

Hvorfor det? Det er bare for løkka jeg lurer på, den fungere helt fint...

Ikke at det er noe problem å poste koden hvis det er viktig men...

Endret av zirener
Skrevet
Verdien strykes implisitt, ved at en verdi av INT_MAX aldi vil være minst i en sammenligning mellom verdier av typen int (dette er sortering i stigende rekkefølge eller hva).

sorteres i stigende rekkefølge, helt riktig.

Det jeg ikke skjønner er hvorfor verdien settes til 1 i den for løkka, som sagt funka det også med å sette den til 0....

Det er en "optimalisering". Du setter Min=0 i linjen ovenfor og du trenger jo ikke å sammenligne element 0 med element 0 (med seg selv). Derfor begynner du på element 1 i stedet.

 

Dvs. når du setter K=0 vil du ha følgende sammenligning (byttet ut K og Min med sine respektive verdier):

if (Tab[0] < Tab[0]) // if (Tab[K] < Tab[Min])

 

Som du ser er det ganske meningsløst.

Skrevet (endret)
Det er en "optimalisering". Du setter Min=0 i linjen ovenfor og du trenger jo ikke å sammenligne element 0 med element 0 (med seg selv). Derfor begynner du på element 1 i stedet.

 

Dvs. når du setter K=0 vil du ha følgende sammenligning (byttet ut K og Min med sine respektive verdier):

if (Tab[0] < Tab[0]) // if (Tab[K] < Tab[Min])

 

Som du ser er det ganske meningsløst

Tusen takk :thumbs:

Nå tror jeg at jeg skjønner det, det var jo ikke så vansklig som jeg syns det var :w00t:

Endret av zirener
  • 3 år senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...