C-ohjelmointi kevät 2006


Harjoitus 4
Tehtävät käsitellään keskiviikon 15.3.2006 harjoitustilaisuuksissa 12-14 salissa B222 ja 14-16 salissa CK107.
Vain tietokoneella koetellut ratkaisut kelpaavat!
  1. Tee funktiot Lisaa_alkio_pinoon ja Tulosta_kaantaen_kaikki_pinosta, jotka käyttävät pinototeutusta eli Lisaa_alkio_pinoon lisää alkion pinoon push-operaatiolla ja Tulosta_kaantaen_kaikki_pinosta poimii pop-operaatiolla pinon kaikki alkiot yksi kerrallaan ja tulostaa ne. Tee myös tarvittava pinon toteutus.

  2. Tee funktiot Lisaa_alkio_listaan ja Tulosta_kaantaen_kaikki_listasta, jotka käyttävät yhteensuuntaan linkitettyä listaa. Alkio lisätään aina listan loppuun. Tulostamisen tehostamiseksi lista kannattaa kääntää ennen tulostamista.

  3. Tee pääohjelma, jolla voit testata kohtien 1 ja 2 funktioita. Ohjelmasi lukee kokonaislukuja tiedostosta ja tiedoston päätyttyä tulostaa luetut luvut käänteisessä järjestyksessä kunkin omalla rivillään.

  4. Tee ohjelma, joka lukee tekstitiedostosta kokonaislukuja ja tulostaa ne suuruusjärjestyksessä. Toteutuksessa tulee käyttää dynaamista ja linkitettyä tietorakennetta, koska tiedoston koko ei ole etukäteen tiedossa. PS. Helpointa on pitää lista kokoajan järjestyksessä.