Na tomto cvičení sú úlohy, ktoré majú precvičiť programy s opakovaním použitím tzv. for cyklu.

Obsah

Pre vypracovanie týchto úloh úplne postačuje použitie online kompilátora jazyku C. Napríklad stránku OneCompiler for C

Napíšte program, zdrojový kód, v jazyku C použitím štandardu C11, ktorý vypíše na obrazovku čísla od 1 po N. Hodnotu N zadaná používateľ cez štandardný vstup.

Príklady vstupov / výstupov programu

Pre číslo 10 na vstupe program vypíše postupnosť 1 2 3 4 5 6 7 8 9 10.

Riešenie

#include <stdio.h>

int main() {
    int n;

    printf("Zadajte číslo: ");
    scanf("%d", &n);

    for (int i = 1; i <= n; i++) {
        printf("%d ", i);
    }

    return 0;
}

Napíšte program, zdrojový kód, v jazyku C použitím štandardu C11, ktorý vypíše na obrazovku prvých N párnych čísiel, začínajúc dvojkou. Počet čísiel na vypísanie určuje používateľ zo štandardného vstupu.

Príklady vstupov / výstupov programu

Riešenie

#include <stdio.h>

int main() {
    int n;

    printf("Zadajte číslo: ");
    scanf("%d", &n);

    for (int i = 1; i <= n * 2; i++) {
        if (i % 2 == 0) {
            printf("%d\n", i);
        }
    }

    return 0;
}

Napíšte program, zdrojový kód, v jazyku C použitím štandardu C11, ktorý pre vstupný parameter n vráti tzv. súčet štvorcov pomocou vzorca 1^2 + 2^2 + 3^2 + ... + n^2 pričom tento súčet vypočítajte pomocou for-cyklu. Hodnotu parametru n zadá používateľ cez štandardný vstup.

Príklady vstupov / výstupov programu

Riešenie

#include <stdio.h>

int main() {
    int n;

    printf("Zadajte číslo: ");
    scanf("%d", &n);

    int sum = 0;
    for (int i = 1; i <= n; i++) {
        sum += i * i;
    }
    printf("%d", sum);

    return 0;
}

Napíšte program, zdrojový kód, v jazyku C použitím štandardu C11, ktorý má 3 vstupné parametre a0, d a N, v tomto poradí. Program vypíše prvých N členov aritmetickej postupnosti, ktorej prvý člen má hodnotu a0 a diferencia postupnosti je daná parametrom d. Pri riešení úlohy použite for-cyklus.

Príklady vstupov / výstupov programu

Volanie programu s parametrami 1,2,5 vypíše čísla 1 3 5 7 9 (každé na nový riadok).

Zdôvodnenie

Argumenty 1,2,5 predstavujú hodnoty parametrov a0 = 1, d = 2, N = 5. Teda prvý člen postupnosti je a0 = 1, členy postupnosti sa od seba líšia o diferenciu d = 2 a chceme vypísať N = 5 členov postupnosti. Teda sa vypíšu čísla:

Keďže N = 5, vypíšeme len 5 členov postupnosti.

Volanie programu s parametrami 5,-3,4 vypíše čísla 5 2 -1 -4 (každé na nový riadok).

Zdôvodnenie

Argumenty 5,-3,4 predstavujú hodnoty parametrov a0 = 5, d = -3, N = 4. Teda prvý člen postupnosti je a0 = 5, členy postupnosti sa od seba líšia o diferenciu d = -3 a chceme vypísať N = 4 členov postupnosti. Teda sa vypíšu čísla:

Keďže N = 4, vypíšeme len 4 členy postupnosti.

Riešenie

#include <stdio.h>

int main() {
    int a0, d, n;

    printf("Zadajte parametre aritmetickej postupnosti a0 d n (čísla musia byť oddelené medzerou): ");
    scanf("%d %d %d", &a0, &d, &n);

    printf("%d\n", a0);
    int previous = a0;
    for (int i = 0; i < n-1; i++) {
        previous += d;
        printf("%d\n", previous);
    }

    return 0;
}

Napíšte program, zdrojový kód, v jazyku C použitím štandardu C11, ktorý od používateľa vyžiada hodnotu parameter n a vypíše na obrazovku mriežku s n riadkami a n stĺpcami podľa diagramov nižšie.

Pre n = 2 (mriežka s 2 „riadkami" a 2 „stĺpcami") by mriežka vyzerala nasledovne:

+ - - - - + - - - - +
|         |         |
|         |         |
|         |         |
|         |         |
+ - - - - + - - - - +
|         |         |
|         |         |
|         |         |
|         |         |
+ - - - - + - - - - +

Pre n = 3 (mriežka s 3 „riadkami" a 3 „stĺpcami") by mriežka vyzerala nasledovne:

+ - - - - + - - - - + - - - - +
|         |         |         |
|         |         |         |
|         |         |         |
|         |         |         |
+ - - - - + - - - - + - - - - +
|         |         |         |
|         |         |         |
|         |         |         |
|         |         |         |
+ - - - - + - - - - + - - - - +
|         |         |         |
|         |         |         |
|         |         |         |
|         |         |         |
+ - - - - + - - - - + - - - - +

Riešenie

#include <stdio.h>

int main() {
    int n;

    printf("Zadajte veľkosť mriežky: ");
    scanf("%d", &n);

    for (int i = 0; i < n*5; i++) {
        if (i % 5 == 0) {
            for (int j = 0; j < n; j++) {
                printf("+ - - - - ");
            }
            printf("+\n");
        } else {
            for (int j = 0; j < n; j++) {
                printf("|         ");
            }
            printf("|\n");
        }
    }
    for (int j = 0; j < n; j++) {
        printf("+ - - - - ");
    }
    printf("+\n");

    return 0;
}

Napíšte program, zdrojový kód, v jazyku C použitím štandardu C11, ktorý vyžiada od používateľa cez štandardný vstup 2 parametre a a b. Môžete predpokladať, že a aj b sú kladné celé čísla. Funkcia vráti súčin a*b. Program implementujte bez použitia operátora *, t.j. bez násobenia!

Príklady vstupov / výstupov programu

Spustenie programu s parametrami 2 a 5 vráti hodnotu 10.

Riešenie

#include <stdio.h>

int main() {
    int a, b;

    printf("Zadajte dve čísla oddelené medzerou: ");
    scanf("%d %d", &a, &b);

    int r = 0;
    for (int i = 0; i < b; i++) {
        r += a;
    }
    printf("%d", r);

    return 0;
}

Napíšte program, zdrojový kód, v jazyku C použitím štandardu C11, ktorý od používateľa vyžiada parameter n. Môžete predpokladať, že n je kladné celé číslo. Program vypíše postupne na samostatné riadky čísla od 1 po n, s krokom +1, teda na prvý riadok vypíše 1, na druhý riadok 1 2, na tretí riadok 1 2 3, atď.

Príklady vstupov / výstupov programu

Spustenie programu s parametrom 5 vypíše:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

Riešenie

#include <stdio.h>

int main() {
    int n;

    printf("Zadajte číslo: ");
    scanf("%d", &n);

    for(int i=1; i <= n; i++){
        for(int j=1; j <= i; j++){
            printf("%d ",j);
        }
        printf("\n");
    }

    return 0;
}

Napíšte program, zdrojový kód, v jazyku C použitím štandardu C11, ktorý implementuje mocninu. Používateľ zadá na vstupe dve kladné čísla n a k. Program vypíše k-tu mocninu čísla n, t.j. n^k. Program implementujte bez použitia operátora * (násobenie) a bez použitia operátora ** (umocnenie).

Príklady vstupov / výstupov programu

Riešenie

Napíšte program, zdrojový kód, v jazyku C použitím štandardu C11, ktorý vypíše tabuľku malej násobilky, spolu s menami riadkov a stĺpcov pre čísla od 1 po 10. Očakávaný výsledok by mal vyzerať nasledovne:

    1   2   3   4   5   6   7   8   9   10
1   1   2   3   4   5   6   7   8   9   10
2   2   4   6   8   10  12  14  16  18  20
3   3   6   9   12  15  18  21  24  27  30
4   4   8   12  16  20  24  28  32  36  40
5   5   10  15  20  25  30  35  40  45  50
6   6   12  18  24  30  36  42  48  54  60
7   7   14  21  28  35  42  49  56  63  70
8   8   16  24  32  40  48  56  64  72  80
9   9   18  27  36  45  54  63  72  81  90
10  10  20  30  40  50  60  70  80  90  100

Riešenie