Informatika2-2012/Gyakorlat03

A MathWikiből
(Változatok közti eltérés)
a (Adatlap)
 
39. sor: 39. sor:
 
Írj hatvány függvényt ("hatvany" névvel), első paramétere az alap, második a kitevő (ne felejtsük el a negatív kitevőket, de elég ha csak egész kitevőkkel működik). A main() függvényben hívd meg a "hatvany()" függvényt néhányszor, és írd a képernyőre az eredményt.
 
Írj hatvány függvényt ("hatvany" névvel), első paramétere az alap, második a kitevő (ne felejtsük el a negatív kitevőket, de elég ha csak egész kitevőkkel működik). A main() függvényben hívd meg a "hatvany()" függvényt néhányszor, és írd a képernyőre az eredményt.
  
 +
 +
===== Két szám összege =====
 +
 +
Írj egy függvényt, mely összead két egész számot, és kiírja az összeget, de a túlcsordulást egy szöveges üzenettel jelzi. Többféle megoldás létezik. Ha az egyik szám pozitív (y > 0), akkor megnézheted, hogy a másik nagyobb-e, mint INT_MAX - y. Például használható a következő kód:
 +
 +
<c>
 +
((y > 0 && x > INT_MAX - y) || (y < 0 && x < INT_MIN - y))
 +
</c>
  
 
===== Minimum =====
 
===== Minimum =====

A lap jelenlegi, 2012. február 23., 09:07-kori változata

Tartalomjegyzék

Típusok, tömbök, függvények

A lenti feladatokat a CodeLite-ban oldhatjátok meg legegyszerűbben (ne felejtsetek el minden feladathoz új projektet nyitni!), de akinek a konzolos, gcc-s fordítás a szimpatikusabb úgy is csinálhatja.


Miért nem fut végtelen ciklusba a következő kód?
#include<stdio.h>
int main(void){
    char i;
    for(i = 1; i != 0; i++){}
    return 0;
}

Módosítsd úgy a kódot, hogy minden lépésnél írja ki a képernyőre i értékét, szóközökkel elválasztva! (Újsor jelet csak a ciklus után írj ki, egyszer!)


Adatlap

Kérj be adatokat a felhasználótól egy emberről, mégpedig a következőket:

  • születési év
  • magasság méterben
  • tömeg kilogrammban

Majd írd ki a képernyőre ugyanezeket, szépen formázva, egymás alá rendezve, így nézzen ki (használd a printf-ben a "\t"-t arra hogy tab-ot írj ki):

 Kora:       19     ev
 Magassaga:  1.75   m
 Tomege:     69     kg

Válaszd meg jól a változók típusait amiket használsz!

A tört érték kiírásának formázásához segítség: A printf-ben "%1.8f" -fel jelölheted hogy egy float típusú változót úgy akarsz kiírni hogy az egész részt egy karakterrel írod ki, a tört részt pedig 8 karakterrel.

Hatvány függvény

Írj hatvány függvényt ("hatvany" névvel), első paramétere az alap, második a kitevő (ne felejtsük el a negatív kitevőket, de elég ha csak egész kitevőkkel működik). A main() függvényben hívd meg a "hatvany()" függvényt néhányszor, és írd a képernyőre az eredményt.


Két szám összege

Írj egy függvényt, mely összead két egész számot, és kiírja az összeget, de a túlcsordulást egy szöveges üzenettel jelzi. Többféle megoldás létezik. Ha az egyik szám pozitív (y > 0), akkor megnézheted, hogy a másik nagyobb-e, mint INT_MAX - y. Például használható a következő kód:

((y > 0 && x > INT_MAX - y) || (y < 0 && x < INT_MIN - y))
Minimum

Írj függvényt ami a beadott (double típusú elemeket tartalmazó) tömbnek visszaadja a legkisebb elemét (első paraméter a tömb, második a tömb mérete). Itt is (és a többi feladatnál is) a main() végezze az eredmény kiírását (és az esetleges beolvasást a felhasználótól az elején, de ez nem fontos, a main() függvény kódjában közvetlenül is definiálhatod az átadandó értékeket).


Számláló

Írj függvényt ami a beadott karaktereket tartalmazó tömbben megszámolja hányszor szerepel egy adott karakter (első paraméter a tömb, második a tömb mérete, harmadik a keresendő elem).


Kereső

Módosítsd úgy az előző függvényt, hogy a keresendő elem első előfordulási indexét adja vissza.


Medián

Bemenet: maximum 30 pozitív egész szám, 0-val jelezzük ha vége a bemenetnek. Kimenet: a számsorozat mediánja (vagyis a középső elem ha sorbarendezzük a számokat).

A feladat megoldásához előbb nagyság szerint sorba kell rendezni a számokat. Erre többféle algoritmus létezik. Ha szereted a kihívásokat, akkor ki is találhatsz egyet, ha viszont nem, vagy nincs már már idő a gyakorlat végén, akkor használd a buborék rendezést: http://wiki.prog.hu/wiki/Bubor%C3%A9krendez%C3%A9s_%28algoritmus%29 . De ebben az esetben se copy-paste-elj, hanem értsd meg az algoritmust és gépeld be a saját változóneveiddel.

Legyen a main()-en kívül két függvény is a programodban, az egyik a rendezést oldja meg, a másik egy rendezett tömbből visszaadja a medián értékét.

Személyes eszközök