Informatika2-2015/Gyakorlat09

A MathWikiből

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;
}
Személyes eszközök