Ú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
9Rozbaľ 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
Definícia poľa:
- Pole array[] je inicializované s ľubovoľnými hodnotami, napr. {10, 20, 30, 40, 50}.
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]).
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