Informatika2-2015/Gyakorlat09
A MathWikiből
(Változatok közti eltérés)
(Új oldal, tartalma: „= 9. gyakorlat - C alapok = Ezen a gyakorlaton az előző heti előadás anyagát dolgozzuk fel. == Feladatok …”) |
|||
(egy szerkesztő 2 közbeeső változata nincs mutatva) | |||
7. sor: | 7. sor: | ||
Feladatok a [https://ccweb.math.bme.hu/cloudcoder/ CloudCoder]-en megtalálhatóak. Ajánlott sorrend: | Feladatok a [https://ccweb.math.bme.hu/cloudcoder/ CloudCoder]-en megtalálhatóak. Ajánlott sorrend: | ||
+ | * harom | ||
* lab | * lab | ||
* egyforma | * egyforma | ||
20. sor: | 21. sor: | ||
Tehát ha a ''return'' előtt közvetlenül kiírjátok azt amit vissza fogtok adni, akkor az output-nál megnézhetitek hogy mennyire más az elvárt kimenettől. | Tehát ha a ''return'' előtt közvetlenül kiírjátok azt amit vissza fogtok adni, akkor az output-nál megnézhetitek hogy mennyire más az elvárt kimenettől. | ||
+ | |||
+ | == Feladatok megoldása == | ||
+ | |||
+ | === harom === | ||
+ | |||
+ | <c> | ||
+ | int harom() { | ||
+ | return 3; | ||
+ | } | ||
+ | </c> | ||
+ | |||
+ | === lab === | ||
+ | |||
+ | <c> | ||
+ | int lab(int ember) { | ||
+ | return ember*2; | ||
+ | } | ||
+ | </c> | ||
+ | |||
+ | === egyforma === | ||
+ | |||
+ | <c> | ||
+ | int egyforma(float a, float b) { | ||
+ | if(a >= b - 0.01 && a <= b + 0.01) { | ||
+ | return 1; | ||
+ | } else { | ||
+ | return 0; | ||
+ | } | ||
+ | } | ||
+ | </c> | ||
+ | |||
+ | === paratlan_resz === | ||
+ | |||
+ | <c> | ||
+ | int paratlan_resz(int k) { | ||
+ | while(k % 2 == 0) { | ||
+ | k /= 2; | ||
+ | } | ||
+ | return k; | ||
+ | } | ||
+ | </c> | ||
+ | |||
+ | === faktromszogszam === | ||
+ | |||
+ | <c> | ||
+ | int faktromszogszam(int n) { | ||
+ | int i, szam; | ||
+ | szam = 1; | ||
+ | for(i = 2; i <= n; ++i) { | ||
+ | szam = (szam + i) * i; | ||
+ | } | ||
+ | printf("%d\n", szam); | ||
+ | return szam; | ||
+ | } | ||
+ | </c> | ||
+ | |||
+ | == Házi feladatok megoldása == | ||
+ | |||
+ | === lakas === | ||
+ | |||
+ | <c> | ||
+ | int lakas(float szel, float hossz, int nm_ar) { | ||
+ | float ar = szel * hossz * nm_ar; | ||
+ | if(ar <= 15000000) { | ||
+ | return 1; | ||
+ | } | ||
+ | return 0; | ||
+ | } | ||
+ | </c> | ||
+ | |||
+ | === prima === | ||
+ | |||
+ | <c> | ||
+ | int prima(int k) { | ||
+ | int i, db = 0; | ||
+ | for(i = 1; i < k; ++i) { | ||
+ | if(k % i == 0) { | ||
+ | ++db; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | return db <= 2; | ||
+ | } | ||
+ | </c> |
A lap jelenlegi, 2015. május 9., 22:07-kori változata
Tartalomjegyzék |
9. gyakorlat - C alapok
Ezen a gyakorlaton az előző heti előadás anyagát dolgozzuk fel.
Feladatok
Feladatok a CloudCoder-en megtalálhatóak. Ajánlott sorrend:
- harom
- lab
- egyforma
- paratlan_resz
- faktromszogszam
Kiiratás
A CloudCoder a C feladatoknál nem tudja a ti kimeneteteket megjeleníteni a tesztesetnél. Ha nem jó valamelyik teszt, de nem tudjátok hogy mi a baj, akkor (a python-os print) helyett egy k egész számot így tudtok legegyszerűbben kiírni:
printf("%d\n", k);
Egy d valós számot meg így:
printf("%f\n", d);
Tehát ha a return előtt közvetlenül kiírjátok azt amit vissza fogtok adni, akkor az output-nál megnézhetitek hogy mennyire más az elvárt kimenettől.
Feladatok megoldása
harom
int harom() { return 3; }
lab
int lab(int ember) { return ember*2; }
egyforma
int egyforma(float a, float b) { if(a >= b - 0.01 && a <= b + 0.01) { return 1; } else { return 0; } }
paratlan_resz
int paratlan_resz(int k) { while(k % 2 == 0) { k /= 2; } return k; }
faktromszogszam
int faktromszogszam(int n) { int i, szam; szam = 1; for(i = 2; i <= n; ++i) { szam = (szam + i) * i; } printf("%d\n", szam); return szam; }
Házi feladatok megoldása
lakas
int lakas(float szel, float hossz, int nm_ar) { float ar = szel * hossz * nm_ar; if(ar <= 15000000) { return 1; } return 0; }
prima
int prima(int k) { int i, db = 0; for(i = 1; i < k; ++i) { if(k % i == 0) { ++db; } } return db <= 2; }