Informatika2-2013/Hazi03
41. sor: | 41. sor: | ||
// függvény hívás után: x = 34, y = 65 | // függvény hívás után: x = 34, y = 65 | ||
</c> | </c> | ||
+ | |||
=== 4. feladat === | === 4. feladat === | ||
+ | |||
+ | Írjatok függvényt ''csokkentNovel'' névvel, ami két int pointer-t kap és ha az elsõ nagyobb mint nulla, akkor csökkenti az elsõt majd növeli a másodikat, különben nem csinál semmit. | ||
+ | |||
+ | Példa bemenetek és eredmények: | ||
+ | |||
+ | <c> | ||
+ | // függvény hívás elõtt: x = 5, y = 8 | ||
+ | csokkentNovel(&x, &y); | ||
+ | // függvény hívás után: x = 4, y = 9 | ||
+ | |||
+ | // függvény hívás elõtt: x = 65, y = 34 | ||
+ | csokkentNovel(&x, &y); | ||
+ | csokkentNovel(&x, &y); | ||
+ | csokkentNovel(&x, &y); | ||
+ | csokkentNovel(&x, &y); | ||
+ | csokkentNovel(&x, &y); | ||
+ | // függvény hívás után: x = 60, y = 39 | ||
+ | |||
+ | // függvény hívás elõtt: x = 0, y = 8 | ||
+ | csokkentNovel(&x, &y); | ||
+ | // függvény hívás után: x = 0, y = 8 | ||
+ | |||
+ | // függvény hívás elõtt: x = 2, y = 8 | ||
+ | csokkentNovel(&x, &y); | ||
+ | csokkentNovel(&x, &y); | ||
+ | csokkentNovel(&x, &y); | ||
+ | // függvény hívás után: x = 0, y = 6 | ||
+ | </c> |
A lap 2013. március 6., 03:27-kori változata
Ismét 4 feladat lesz:
Tartalomjegyzék |
1. feladat
Írj hatványozás függvényt, hasonló szerepelt már a 4. gyakorlaton. Most írj hatvDouble névvel függvényt amely egy double-t (alap) és egy int-et (kitevõ) kap, eredményül pedig az alapot a kitevõre emelve adja. Figyeljünk most oda a negatív kitevõkre is. Értelemszerûen a függvény visszatérési értéke double legyen.
Példa bemenetek és kimenetek:
hatvDouble(3.5, 4) // 150.0625 hatvDouble(6.32, 0) // 1 hatvDouble(2.0, -2) // 0.25
2. feladat
Írj függvényt charSzamol névvel, ami az elsõ argumentumként adott tömbben megszámolja hányszor szerepel a második argumentumként adott karakter és ezt visszaadja, harmadik paramétere legyen a tömb hossza.
Például a következõ main függvényre
int main(void){ char ch[12] = { 'a', 'c', 'd', 'b', 'b', 'p', 'o', 'a', 'a', 'b', 'c', 'p'}; printf("%d\n", charSzamol(ch, 'b', 12)); return 0; }
a 3 eredményt adja.
3. feladat
Írjatok függvényt rendez névvel, ami 2 int pointert kap bemenetként (2 paramétere van), és rendezi õket nagyság szerint növekvõ sorrendbe, azaz az elsõbe kerüljön a kisebb, a másodikba a nagyobb.
Példa bemenetek és eredmények:
// függvény hívás elõtt: x = 5, y = 8 rendez(&x, &y); // függvény hívás után: x = 5, y = 8 // függvény hívás elõtt: x = 65, y = 34 rendez(&x, &y); // függvény hívás után: x = 34, y = 65
4. feladat
Írjatok függvényt csokkentNovel névvel, ami két int pointer-t kap és ha az elsõ nagyobb mint nulla, akkor csökkenti az elsõt majd növeli a másodikat, különben nem csinál semmit.
Példa bemenetek és eredmények:
// függvény hívás elõtt: x = 5, y = 8 csokkentNovel(&x, &y); // függvény hívás után: x = 4, y = 9 // függvény hívás elõtt: x = 65, y = 34 csokkentNovel(&x, &y); csokkentNovel(&x, &y); csokkentNovel(&x, &y); csokkentNovel(&x, &y); csokkentNovel(&x, &y); // függvény hívás után: x = 60, y = 39 // függvény hívás elõtt: x = 0, y = 8 csokkentNovel(&x, &y); // függvény hívás után: x = 0, y = 8 // függvény hívás elõtt: x = 2, y = 8 csokkentNovel(&x, &y); csokkentNovel(&x, &y); csokkentNovel(&x, &y); // függvény hívás után: x = 0, y = 6