Informatika2-2013/Hazi03
(→4. feladat) |
|||
(egy szerkesztő egy közbeeső változata nincs mutatva) | |||
46. sor: | 46. sor: | ||
=== 4. feladat === | === 4. feladat === | ||
− | Írjatok függvényt '' | + | Írjatok függvényt ''tombKezel'' névvel, ami egy mindenképpen 10 elemû double tömböt kap egyetlen paramétereként, beolvas a felhasználótól (scanf-el) 10 double-t, majd kiírja a beadott számok összegét, átlagát, minimumát és maximumát. A feladat különleges megkötése, hogy a tömbön való lépéseket mindenképpen pointerekkel oldjátok meg. [http://wiki.math.bme.hu/view/Informatika2-2013/Eloadas#T.C3.B6mb.C3.B6k Itt] van erre példa, és igazán csak azt kell megértenetek, hogy amikor azt írjuk, hogy t+4 és a t egy tömb, akkor ez a tömb 4. indexû elemének a pointere lesz, azaz ebbe lehet közvetlen scanf-el beolvastatni (scanf("%lf", t+4)). |
− | + | A következõ main függvényt használhatjátok: | |
<c> | <c> | ||
− | + | int main(void){ | |
− | + | double t[10]; | |
− | + | ||
− | + | tombKezel(t); | |
− | + | return 0; | |
− | + | } | |
− | + | </c> | |
− | + | Példa bemenet: | |
− | + | <c> | |
− | + | 2.5 | |
− | / | + | 3.6 |
− | + | 4.7 | |
− | + | 5.8 | |
− | + | 6.9 | |
− | + | 8.8 | |
− | + | 4.2 | |
− | / | + | 1.6 |
− | + | 8.4 | |
− | + | 6.3 | |
− | + | </c> | |
− | + | Erre a kimenet: | |
+ | <c> | ||
+ | Osszeg: 52.8 | ||
+ | Atlag: 5.28 | ||
+ | Minimum: 1.6 | ||
+ | Maximum: 8.8 | ||
</c> | </c> |
A lap jelenlegi, 2013. március 7., 23:06-kori változata
Ismét 4 feladat lesz:
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 tombKezel névvel, ami egy mindenképpen 10 elemû double tömböt kap egyetlen paramétereként, beolvas a felhasználótól (scanf-el) 10 double-t, majd kiírja a beadott számok összegét, átlagát, minimumát és maximumát. A feladat különleges megkötése, hogy a tömbön való lépéseket mindenképpen pointerekkel oldjátok meg. Itt van erre példa, és igazán csak azt kell megértenetek, hogy amikor azt írjuk, hogy t+4 és a t egy tömb, akkor ez a tömb 4. indexû elemének a pointere lesz, azaz ebbe lehet közvetlen scanf-el beolvastatni (scanf("%lf", t+4)).
A következõ main függvényt használhatjátok:
int main(void){ double t[10]; tombKezel(t); return 0; }
Példa bemenet:
2.5 3.6 4.7 5.8 6.9 8.8 4.2 1.6 8.4 6.3
Erre a kimenet:
Osszeg: 52.8 Atlag: 5.28 Minimum: 1.6 Maximum: 8.8