User Tools

Site Tools


tanszek:oktatas:szamitastechnika:ciklusok

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tanszek:oktatas:szamitastechnika:ciklusok [2025/10/01 12:35] – created szabomtanszek:oktatas:szamitastechnika:ciklusok [2025/10/01 12:42] (current) – [Gyakorlás] szabom
Line 3: Line 3:
 A ciklusok segítségével utasításokat ismétlünk meg. Három fő típust ismerünk: A ciklusok segítségével utasításokat ismétlünk meg. Három fő típust ismerünk:
  
-  - for +  - for: ismétlés meghatározott számszor 
-  - while +  - while: ismétlés, amíg a feltétel igaz 
-  - do-while+  - do-while: ismétlés, amíg a feltétel igaz, de mindig lefut legalább egyszer (akkor is, ha a feltétel hamis)
  
 Ezen kívül van két vezérlő utasítás: Ezen kívül van két vezérlő utasítás:
Line 130: Line 130:
         printf("%d ", i);         printf("%d ", i);
     }     }
 +    return 0;
 +}
 +</sxh>
 +
 +===== Gyakorlás =====
 +1. Írj programot, ami beolvas egy N számot, és kiszámolja az 1+2+...+N összeget for ciklussal.
 +
 +<sxh c>
 +#include <stdio.h>
 +
 +int main(void) {
 +    int N, sum = 0;
 +    scanf("%d", &N);
 +
 +    for (int i = 1; i <= N; i++) {
 +        sum += i;
 +    }
 +
 +    printf("Osszeg: %d\n", sum);
 +    return 0;
 +}
 +</sxh>
 +
 +2. Kérj be egy pozitív számot, és számold ki a számjegyeinek összegét (pl. 123 → 1+2+3=6).
 +
 +<sxh c>
 +#include <stdio.h>
 +
 +int main(void) {
 +    int x, sum = 0;
 +    scanf("%d", &x);
 +
 +    while (x > 0) {
 +        sum += x % 10;  // utolsó számjegy
 +        x /= 10;        // levágjuk a számjegyet
 +    }
 +
 +    printf("Szamjegyek osszege: %d\n", sum);
 +    return 0;
 +}
 +</sxh>
 +
 +3. A program kérjen be számokat addig, amíg a felhasználó nem találja el a titkos számot (pl. 7). Minden tipp után írd ki: „Túl kicsi” vagy „Túl nagy”.
 +
 +<sxh c>
 +#include <stdio.h>
 +
 +int main(void) {
 +    int tipp;
 +    int titkos = 7;
 +
 +    do {
 +        printf("Adj meg egy szamot: ");
 +        scanf("%d", &tipp);
 +
 +        if (tipp < titkos) {
 +            printf("Tul kicsi!\n");
 +        } else if (tipp > titkos) {
 +            printf("Tul nagy!\n");
 +        }
 +    } while (tipp != titkos);
 +
 +    printf("Eltalaltad!\n");
 +    return 0;
 +}
 +</sxh>
 +
 +4. Olvass be egy számot N, majd írd ki az összes páros számot 1 és N között. Használj continue-t a páratlanok átugrására.
 +
 +<sxh c>
 +#include <stdio.h>
 +
 +int main(void) {
 +    int N;
 +    scanf("%d", &N);
 +
 +    for (int i = 1; i <= N; i++) {
 +        if (i % 2 != 0) continue;  // ha páratlan, átugorjuk
 +        printf("%d ", i);
 +    }
 +    printf("\n");
 +    return 0;
 +}
 +</sxh>
 +
 +5. Olvass be egy N számot, és számold ki az N! értékét (pl. 5! = 120) for ciklussal. (folyamatábra)
 +
 +<sxh c>
 +#include <stdio.h>
 +
 +int main(void) {
 +    int N;
 +    long long fakt = 1;  // nagyobb számokra is jó legyen
 +
 +    scanf("%d", &N);
 +
 +    for (int i = 1; i <= N; i++) {
 +        fakt *= i;
 +    }
 +
 +    printf("%d! = %lld\n", N, fakt);
 +    return 0;
 +}
 +</sxh>
 +
 +6. Olvass be eg N számot, és írd ki a Fibonacci sorozat N elemét for ciklussal. (folyamatábra)
 +
 +<sxh c>
 +#include <stdio.h>
 +
 +int main(void) {
 +    int N;
 +    scanf("%d", &N);
 +
 +    int a = 0, b = 1;
 +
 +    printf("Fibonacci sorozat: ");
 +    for (int i = 0; i < N; i++) {
 +        printf("%d ", a);
 +        int kov = a + b;
 +        a = b;
 +        b = kov;
 +    }
 +    printf("\n");
 +
     return 0;     return 0;
 } }
 </sxh> </sxh>
tanszek/oktatas/szamitastechnika/ciklusok.1759322105.txt.gz · Last modified: 2025/10/01 12:35 by szabom