pseudokielinen algoritmi

MODULE valintalajittelu (T,n)
FOR i := 1,2,....,n-1 DO
FOR j :=i 1,..n DO
IF T[i]>T[j] vaihdaT[i]T[j]
ENDIF

ENDFOR
ENDFOR
ENDMODULE

Miten ylläolevaa lajittelua sovelletaan kun on kaksi vektoria, joista toisessa on tulokset ja toisessa henkilöt. Lajittelu pitää tehdä tulosten mukaan ylläolevalla valintalajittelulla ja nimet saada lajittelua tulostusta varten vastaavaan järjestykseen? Tarkoituksena on tehdä kaksi modulia. Miten muodostan henkilönimiä järjestävän modulin ja kuinka käytän siinä laskuria?
2354
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

Jos käsitin ihan oikein, niin ..:

"Miten ylläolevaa lajittelua sovelletaan kun on kaksi vektoria, joista toisessa on tulokset ja toisessa henkilöt."

If-testin ollessa totta vaihdat myös samassa indekseissä olevia kohtia siitä toisestakin taulusta tulosten vaihdon lisäksi. Moduli ottaa parametrikseen myös ne nimet.

Nimien vertailuun voinee käyttää jotain merkkijonovertailua. Esim. C:n strcmp/strncmp palauttaa eri arvoja riippuen siitä, kumpi sanoista tulee ennemmin aakkosjärjestyksessä vertailtaessa sanoja merkki kerrallaan.

Äänestä
  • ...sijoittaa henkilöt -tulokset struktuuriin, niin lajittelu käy automaattisesti. (Toivottavasti ymmärsin kysymyksesi oikein, ohje koskee lähinnä C-kieltä, itse kun pidän tätä pseudo-ohjelmointia olevan perseestä kun siinä ei pysty hyödyntämään eri ohjelmointiympäristöjen etuja ja välttämään niiden haittoja)

    Äänestä

Kommentoi aloitusta


Ekku kirjoitti:

MODULE valintalajittelu (T,n)
FOR i := 1,2,....,n-1 DO
FOR j :=i 1,..n DO
IF T[i]>T[j] vaihdaT[i]T[j]
ENDIF

ENDFOR
ENDFOR
ENDMODULE

Miten ylläolevaa lajittelua sovelletaan kun on kaksi vektoria, joista toisessa on tulokset ja toisessa henkilöt. Lajittelu pitää tehdä tulosten mukaan ylläolevalla valintalajittelulla ja nimet saada lajittelua tulostusta varten vastaavaan järjestykseen? Tarkoituksena on tehdä kaksi modulia. Miten muodostan henkilönimiä järjestävän modulin ja kuinka käytän siinä laskuria?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu