---
# System prepended metadata

title: Prog1 gyakorlófeladatok
tags: [' oktatas', prog1, ' programozas']

---

---
tags: prog1, programozas, oktatas
---

# Prog1 gyakorlófeladatok

## Ciklusok és tömbök
### Feladatok

1. Olvassunk be egy $x$ valós számot és írjuk ki $x^2-2.31x+12.12$ értékét.
2. Olvassunk be egy $x$ valós számot és írjuk ki $1/x$-et, ha $x\ne 0$. Ha $x==0$, akkor írjuk ki azt, hogy `Nullaval nem tudok osztani.`
3. Olvassunk be két számot, $a$-t és $b$-t. Ha valamelyik negatív, írjuk ki, hogy `Negativ szamokkal nem dolgozom.`, ha $b$ értéke $0$, akkor írjuk ki, hogy `Nullaval nem tudok osztani.`, különben írjuk ki az $a/b$ maradékos osztást, azaz hogy hányszor van meg $a$-ban a $b$, és hogy mennyit ad $b$-vel osztva maradékul az $a$.
4. Olvassunk be $10$ egész számot. Írjuk ki a párosok összegét.
5. Olvassunk be $10$ valós számot. Írjuk ki a negatívak darabszámát és szorzatát. Ha nem jött negatív szám, akkor írju ki azt, hogy `Nem jott negativ szam.`
6. Írjuk ki az első $25$ négyzetszám ($1, 4, 9, \ldots, 625$) összegét.
7. Írjuk ki az első $25$ szám reciprokának ($1, \frac{1}{2}, \frac{1}{3}, \ldots, \frac{1}{25}$) az összegét.
8. Olvassunk be egész számokat addig amíg $3$-mal osztható nem jön. Írjuk ki a beolvasottak közül a páratlanok összegét.
9. Olvassunk be egész számokat addig, amíg az összeg nem lesz nagyobb 15-nél. Írjuk ki az összeget.
10. Olvassunk be egész számokat és írjuk ki a $7$-tel való osztási maradékukat. Ha $7$-tel osztható szám jön, álljunk le.
11. Hozzunk létre $5$ elemű egész tömböt és töltsük fel a $13$ értékkel. (Minden értéke legyen $13$.)
12. Hozzunk létre $5$ elemű valós tömböt és olvassunk be $5$ darab értéket a tömbbe.
13. Hozzunk létre $5$ elemű egész tömböt és olvassunk be $5$ darab $7$-tel nem osztható értéket a tömbbe.
14. Adjuk össze egy (tetszőleges) tömb azon elemeit, amelyek oszthatóak 3-mal.
15. Keressük meg egy (tetszőleges) tömb legnagyobb és legkisebb elemét egy ciklussal és írjuk ki az értéküket.
16. Keressük meg egy (tetszőleges) tömb legnagyobb és legkisebb elemét egy ciklussal és írjuk ki, hogy a legnagyobb elem a legkisebbtől balra vagy jobbra van-e.
17. Hozzunk létre $10$ elemű valós tömböt és számoljuk ki a tömb átlagát.

### Megoldások
<details>
<summary>Megoldások</summary>

1.  ```C
    #include <stdio.h>
    int main() {
        double x, eredmeny;
        scanf("%lf", &x);
        eredmeny = x * x - 2.31 * x + 12.12;
        printf("%lf", eredmeny);
    }
    ```
2.  ```C
    #include <stdio.h>
    int main() {
        double x;
        scanf("%lf", &x);
        if (x == 0) {
            printf("Nullaval nem tudok osztani.");
        } else {
            printf("%lf", 1/x);
        }
    }
    ```
3.  ```C
    #include <stdio.h>
    int main() {
        int a, b;
        scanf("%d%d", &a, &b);
        if (a < 0 || b < 0) {
            printf("Negativ szamokkal nem dolgozom.");
        } else if (b == 0) {
            printf("Nullaval nem tudok osztani.");
        } else {
            printf("Osztas: %d, maradek: %d", a/b, a%b);
        }
    }
    ```
4.  ```C
    #include <stdio.h>
    int main() {
        int szam, osszeg = 0;
        for (int i = 0; i < 10; i++) {
            scanf("%d", &szam);
            if (szam % 2 == 0) {
                osszeg = osszeg + szam;
            }
        }
        printf("Osszeg: %d", osszeg);
    }
    ```
5.  ```C
    #include <stdio.h>
    int main() {
        double szam, szorzat = 1;
        int darab = 0;
        for (int i = 0; i < 10; i++) {
            scanf("%lf", &szam);
            if (szam < 0) {
                szorzat = szam * szorzat;
                darab++;
            }
        }
        if (darab == 0) {
            printf("Nem jott negativ szam.");
        } else {
            printf("Szorzat: %lf", szorzat);
        }
    }
    ```
6.  ```C
    #include <stdio.h>
    int main() {
        int osszeg = 0;
        for (int i = 1; i <= 25; i++) {
            osszeg += i * i;
        }
        printf("%d\n", osszeg);
    }
    ```
7.  ```C
    #include <stdio.h>
    int main() {
        double osszeg = 0;
        for (int i = 1; i <= 25; i++) {
            osszeg += 1.0 / i;
        }
        printf("%lf\n", osszeg);
    }
    ```
8.  ```C
    #include <stdio.h>
    int main() {
        int szam, osszeg;
        do {
            scanf("%d", &szam);
            if (szam % 2 == 1) {
                osszeg += szam;
            }
        } while (szam % 3 != 0);
    }
    ```
9.  ```C
    #include <stdio.h>
    int main() {
        int szam, osszeg = 0;
        while (1) {
            scanf("%d", &szam);
            if (osszeg + szam > 15) {
                break;
            } else {
                osszeg += szam;
            }
        }
        printf("%d", osszeg);
    }
    ```
10. ```C
    #include <stdio.h>
    int main() {
        int szam;
        while (1) {
            scanf("%d", &szam);
            printf("%d\n", szam % 7);
            if (szam % 7 == 0)
                break;
        }
    }
    ```
11. ```C
    int main() {
        int tomb[5];
        for (int i = 0; i < 5; i++) {
            tomb[i] = 13;
        }
    }
    ```
12. ```C
    #include <stdio.h>
    int main() {
        int tomb[5];
        for (int i = 0; i < 5; i++) {
            scanf("%d", tomb[i]);
        }
    }
    ```
13. ```C
    #incude <stdio.h>
    int main() {
        int tomb[5];
        int i = 0;
        while (i < 5) {
            int szam;
            scanf("%d", &szam);
            if (szam % 7 != 0) {
                tomb[i] = szam;
                i++;
            }
        }
    }
    ```
</details>

## Láncolt listák
1. Írjunk függvényt, amely egy strázsa nélküli láncolt lista legelső elemét a lista végére teszi.
2. Írjunk függvényt, amely egy strázsa nélküli láncolt lista legutolsó elemét az elejére teszi.
3. 
