Jednodimenzionalni niz

1. Jednodimenzionalni niz

1.4. Ispis elemenata niza

Postavljene vrijednosti elemenata niza često treba ispisati na zaslonu. Tada se naredba za ispis kombinira s programskim petljama koje omogućuju „kretanje” po nizu, promjenom indeksa. Moguće je koristiti se bilo kojom petljom, ali je najpraktičniji izbor petlja for.

for (i = 0; i<n; i++)
  printf ("\nformat", ime_polja[i]);

gdje je
  • i – kontrolna varijabla
  • n ‒ veličina niza (najveći broj elemenata)
  • format – format za ispis koji ovisi o tipu elemenata upisanih u niz.

Primjer 1.

Niz naredbi:

#include <stdio.h>
int main ()
{
  int i, b[]={1, 3, 5, 7, 11, 13};
  for (i=0;i<6;i++)
     printf("%d ", b[i]);
  return 0;
}

najavljuje, inicijalizira i ispisuje niz b od šest elementa: 1 3 5 7 11 13 s razmakom između svakog elementa.

Napomena: Varijabla i je kontrolna varijabla koja se mijenja od 0 do 5 i na taj način omogućuje funkciji za ispisivanje da dohvati i ispiše vrijednosti svih elemenata niza. U zadnjem koraku petlje varijabla i poprima vrijednost 6, ali tada uvjet nije zadovoljen i prestaje izvršavanje petlje for.

Primjer 2.

Nakon izvođenja programa:

#include <stdio.h>
int main ()
{
  int i, b[10]={2,4,6,8,10,12,14,16};
  for (i=1;i<7;i+=2)
     printf("%d ", b[i]);
  return 0;
}

na zaslonu će se ispisati: 4  8  12. Zbog čega?

Početna vrijednost kontrolne varijable u petlji for jednaka je 1, što znači da će prvi element koji se ispiše imati indeks 1, a to je drugi element u danom nizu, tj. broj 4. Vrijednost kontrolne varijable uvećava se za dva, pa se svaki drugi element preskače. Iako je, najavljivanjem i inicijalizacijom niza, zauzeto i popunjeno osam mjesta, zbog završne vrijednosti kontrolne varijable koja je pet, ispisuju se samo navedeni elementi. (Kontrolna varijabla i će u petlji poprimiti i vrijednost 7, ali zbog neistinitosti uvjeta, petlja se više ne izvršava.)