/*

  Umetanje broja u nerastuce sortirani niz.

*/


#include <stdio.h>

// Prikazuje opis niza i niz
void prikazi_niz(char *tekst,int niz[],int n){

    int i;

    printf("\n%s",tekst);

    for(i=0;i<n;i++){
        printf(" %3d",niz[i]);
    }
    printf("\n\n");
}


// U nerastuce sortiran niz ubacuje broj na odgovarajuce mesto.
void ubaci_u_nerastuci_niz(int niz[],int *n,int broj){
    int i;

    i=(*n);
    (*n)++;                         // uvecavamo broj clanova niza jer ubacujemo broj

    while(niz[i-1]<broj && i>0){    // dok su clanovi niza veci od broja ili do pocetka niza
        niz[i]=niz[i-1];            // taj clan postaje jednak prethodnom
        i--;                        // idemo ulevo na prethodni clan niza
    }

    niz[i]=broj;                    // na njegovo mesto ubacujemo broj
}


int main(void)
{
    int niz[100]={14,12,10,8,6,4,2};
    int n=7;

    prikazi_niz("",niz,n);

    ubaci_u_nerastuci_niz(niz,&n,15);
    ubaci_u_nerastuci_niz(niz,&n,1);
    ubaci_u_nerastuci_niz(niz,&n,7);
    ubaci_u_nerastuci_niz(niz,&n,13);
    ubaci_u_nerastuci_niz(niz,&n,17);

    prikazi_niz("",niz,n);

    return 0;
}