Hei! Olisin kiinnostunut jonkin sortin harjoitustehtävistä, joissa tarvitsee jonkin verran päätä. Ei kuitenkaan mitään järjettömän vaikeaa sillä en edelleenkään ole kokenut koodari. Ohjelmoin C:llä. Eli jos jollain on mielessä jotain mukavia tehtäviä niin laittakaapa tulemaan.
Kai niitä jo jonkin verran haulla löytyy oikeilla hakusanoilla.
Tekstiseikkailumoottori on minusta yksi aika hyvä idea. Eli vaikka jokin sellainen, joka lukee seikkailua tietynformaattisesta tiedostosta ja tulostaa ruudulle.
Yksinkertaisesti vaikka näin:
-kohta- // Tämä kertoo, että tästä alkaa tekstiseikkailun yksi "kohta" 3 // Tämä on tieto, montako tekstiriviä on tulossa. Sitten ne tekstit: Matti menee kauppaan. Sieltä hän ostaa maitoa. Kotiin tullessaan hän näkee siilin. Mitä Matti tekee siilille? 2 // Tämä kertoo, montako vastaustapaa on tulossa. Potkaisee sitä. // Tämä on siis yksi vaihtoehto 7 // Tämä kertoo, monenteenko kohtaan seikkailua mennään, kun tämä valinta valitaan. Juoksee huutaen pakoon. // Vastaavasti toinen vastaustapa. 8 // Ja minne siitä pääsee. -kohta- // Seuraava kohta. Jne.
Joko systeemi, joka lukee koko tiedoston kerralla muistiin, tai systeemi, joka lukee tiedostoa sitä mukaa kuin edetään. Kaikkein paras varmaankin olisi sellainen, joka etsisi tiedostosta valmiiksi juuri ne, joihin pelaaja voi seuraavaksi joutua, sillä aikaa, kun pelaaja lukee edellistä tekstiä.
Tuohon voi sitten laajentaa vähintäänkin satunnaisuutta ja mahdollisesti muuttujiakin.
Tällä oppii ihmeitä fscanf-funktion toiminnasta merkkijonojen kanssa. Esimerkiksi juuri rivien lukemisen sopivasti viritellyllä %s-määreellä, tyhjien merkkien lukematta jättämisen ja kaikenlaista muuta.
Kopsasin toisesta aiheesta linkkini.
Kivoja harjoitustehtäviä | http://www.infa.abo.fi/~chakie/kurser/c/ovningar-c .php3
Lisää harjoituksia | http://users.evitech.fi/~hannuvl/sy04/
Jotain C++-ohjelmointia, mutta älä lue windows-osuutta | http://cpp.mureakuha.com/
C++ opas, vaikuttaa lupaavalta | http://www.mit.jyu.fi/vesal/kurssit/winohj/html/
Teevee,
Baglair kirjoitti:
Ohjelmoin C:llä.
Toki noita tehtäviä voi soveltaa, mutta kuitenkin.
Yksi varsin opettava tehtävä on tehdä binäärinen hakupuu, johon tallennetaan merkkijonoja. Lisäksi siihen tarvitaan pieni komentorivikäyttöliittymä, joka hyväksyy komentoja, joilla voi lisäillä, poistaa ja etsiä merkkijonoja. Lisähaasteena voi tehdä funktiota puun tasapainottamiseksi.
Puu koostuu siis solmuista, joissa on tieto solmussa olevasta merkkijonosta ja linkki solmun molempiin alipuihin. Jokaisen solmun vasemmassa alipuussa on kaikki solmun merkkijonoa 'pienemmät' merkkijonot ja oikealla puolella suuremmat tai yhtäsuuret.
Tässä tehtävässä oppii käyttämään struct:eja, osoittimia, dynaamista muistinkäsittelyä ja käyttäjän syötteiden käsittelyä. Kun onnistut tekämään tämän siten, että käyttäjän syötteistä riippumatta missään ei tapahdu taulukon ylivuotoja tai muita virheellisiä muistiviittauksia olet jo varsin pitkällä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.