Informatika2-2014/Hazi
C feladatok
A feladatokat a judge összeomlása miatt itt tűzzük ki és a már ismert info1hazi@gmail.com címre kell küldeni. A levél mellékletében legyen a C program, melynek neve a hallgató ékezet nélküli neve és a feladat sorszáma legyen, pl.
SzaboIstvan1.c
A feladatok beadási határideje elvben e hét vége, de a saját rendszerünk hibája miatt jövő csütörtök éjfélig elfogadunk minden beérkező megoldást. A kitűzött feladatok nagyon egyszerűek, mindenkinek meg kell tudnia oldani. Természetesen ha valaki elakad, megbeszélheti a megoldást mással, de programkódot átadni valakinek, illetve valakitől elkérni, és azt beadni nem szabad!
1. Tökéletes szám. Írjunk C programot, mely a bemeneten kapott pozitív egész számról eldönti, hogy tökéletes szám-e. Ha tökéletes szám, akkor 1-et írjon ki, ha nem akkor 0-t. Mindkét esetben tegyen egy sortörés karaktert az eredmény után.
Példa bemenet:
28
Kimenet:
1
Példa bemenet:
35
Kimenet:
0
2. Szórásnégyzet. Írjunk C programot mely a bemenetről olvas be lebegőpontos számokat, egészen addig amíg egy negatív számot nem kap (hasonlóra a 9. gyakorlaton volt példa). A kapott számok közül kiírja a legnagyobbat, új sorban a számok tapasztalati szórásnégyzetét. A képlet amit érdemes használni (ld. wikipedia):
Példa bemenet:
4.2 4.8 2.3 4.5 -1
Kimenet:
4.800000 0.952500
Példa bemenet 2:
5.6 5.2 -1 4.2
Kimenet:
5.600000 0.040003
3. Kisbetű-nagybetű. Írjunk C függvényt, amely a paraméterként kapott csak ASCII betűket tartalmazó sztringben minden kisbetűt nagybetűre cserél!
Bemenet:
Kiskapu 12
Kimenet:
KISKAPU 12
(Segítség: 'k' - 'K' == 'a' - 'A')
4. Minmax. Az alábbi C kódban írjuk meg a 'minmax' függvényt és egészítsük ki a meghívását végző sort, hogy a program a 't' tömbben megadott számok minimumát és maximumát írja ki!
#include<stdio.h> void minmax( ?, ?, ?) { // innen kitöltendő } int main(void) { double t[] = {1.2, 2.3, 6.1, -3, -2.7, 2.7, 11.11, -20, 0.23, 4.1}; double min, max; minmax( t, ?, ?); // ?-ek kitöltendők printf("%lf\n%lf\n", min, max); return 0; }
5. Mátrix négyzete. Írjunk programot, mely beolvas egy pozitív egész n számot, létrehoz egy -es double értékeket tartalmazó mátrixot (malloc), kiszámolja a kapott mátrix négyzetét, majd ezt ki is írja.
Példa bemenet:
3 1.0 2.3 -1.2 4.5 -7.5 -2.0 5.6 1.2 5.4
Kimenet:
4.630000 -16.390000 -12.280000 -40.450000 64.200000 -1.200000 41.240000 10.360000 20.040000