Informatika2-2013/Hazi03

A MathWikiből
(Változatok közti eltérés)
(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
Személyes eszközök