Úloha 6.7

Napíšte program, zdrojový kód, v jazyku C použitím štandardu C17, ktorý definuje statické pole ľubovolnej veľkosti typu int[] a následne vypíše všetky jeho elementy odzadu, t.j. od posledného k prvému, t.j. od indexu <dĺžka poľa> - 1 po index 0. Každý element poľa je vypísaný do nového riadku.

Príklady vstupov / výstupov programu

Pre pole [9,8,5,1,3] program vypíše:

3
1
5
8
9

Rozbaľ pre ukážku riešenia
#include <stdio.h>

int main() {
    // Definícia statického poľa
    int array[] = {10, 20, 30, 40, 50}; // Ľubovoľné hodnoty
    int size = sizeof(array) / sizeof(array[0]); // Počet prvkov v poli

    // Výpis prvkov poľa odzadu
    printf("Array elements in reverse order:\n");
    for (int i = size - 1; i >= 0; i--) {
        printf("%d\n", array[i]);
    }

    return 0;
}

Vysvetlenie

  1. Definícia poľa:

    • Pole array[] je inicializované s ľubovoľnými hodnotami, napr. {10, 20, 30, 40, 50}.
  2. Výpočet veľkosti poľa:

    • sizeof(array) vráti celkovú veľkosť poľa v bajtoch.
    • sizeof(array[0]) vráti veľkosť jedného prvku poľa.
    • size sa vypočíta ako počet prvkov v poli: sizeof(array) / sizeof(array[0]).
  3. Iterácia cez pole odzadu:

    • Cyklus for iteruje od posledného indexu (size - 1) po prvý index (0).
    • Prvky sa vypisujú pomocou printf na samostatné riadky.

Príklad výstupu

Pri inicializácii poľa int array[] = {10, 20, 30, 40, 50}; bude výstup nasledovný:

Array elements in reverse order:
50
40
30
20
10