Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Kysyttävää

Majere [16.02.2006 19:35:17]

#

Voisiko joku kertoa tai tehdä minulle koodin!? kun en kerran onnistu tekemään tällaista ohjelmaa!:
Ohjelma kysyy montako lukua (esim. 5) ja sitten syötetään (esim viisi) lukuja. Ohjelma antaa luvut pienimmästä suurimpaa , mutta jättää kokonaan pienimmän ja suurimman luvun pois...
Onnisuin aina jotenkin mutta ikinä se ei toimunut niin että ei olisi mitään vikaa!

tgunner [16.02.2006 19:40:02]

#

Ei! Kirjoita itse koodisi. Nuo ovat aika perusasioita, joten lukemalla manuskoja käsität varmaan ne.

KeKimmo [16.02.2006 19:40:31]

#

Jos teet koulutehtävää, pyydä apua opettajalta. Jos taas opiskelet vain huviksesi, lue sitä opasta, josta tuon tehtävän löysit.

Heikki [16.02.2006 21:27:58]

#

Jep, valmista koodia ei anneta koska se on pidemmän päälle parempi sinulle.

Tässä kuitenkin vähän vinkkejä:

// i-kokoisen taulukon alustus
int i;
cin >> i;
int taulu[i];

// i:n läpikäynti: perus forri
for (int n=0; n<i; n++) { }

Tuo suuruusjärjestys taas on aika ongelmallinen, sen voi tehdä useammalla tavalla. Ehkäpä yksinkertaisin algoritmi menee siten, että jokaisen luvun kohdalla katsotaan montako sitä suurempaa lukua on ja laitetaan luku sitten toisen taulukon tiettyyn kohtaan. Paras tulos on kuitenkin kun kehität algoritmin itse, hyvä tapa on esimerkiksi piirrellä paperille tilannetta ja miettiä miten taulukollinen lukuja saataisiin järjestettyä järjestykseen toiseen taulukkoon.

CyberianRat [17.02.2006 00:41:45]

#

Taulukon varaaminen dynaamisesti ei mene ihan tuon edellisen koodin syntaksilla läpi. Jos tässä on kyse C++:sta, suosittelen että käytät std::vectoria lukujen säilyttämiseen ja std::sortia järjestämiseen.

Esim. tuolta löytyy koodiapuja:
http://www.msoe.edu/eecs/cese/resources/stl/sort.htm

Baglair [17.02.2006 14:51:38]

#

Hyvä tyyli on ensin kysyä itseltään miten itse suorittaisin tehtävän ja sitten toteuttaa ohjelman.

Majere [17.02.2006 22:44:44]

#

Tosiaan..löysin tuotan tehtävän aivan netistä...ei ollut siis ohjekirjaa...mutta pienen vaivannäön jälkeen onnistuin...kiitoksia avusta!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta