Informatika2-2013/Hazi03
(→4. feladat) |
|||
(egy szerkesztő 3 közbeeső változata nincs mutatva) | |||
1. sor: | 1. sor: | ||
+ | __NOTOC__ | ||
+ | |||
Ismét 4 feladat lesz: | Ismét 4 feladat lesz: | ||
41. sor: | 43. 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 ''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> | ||
+ | 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> |
A lap jelenlegi, 2013. március 8., 00: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