/*
Umetanje broja u neopadajuce 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 neopadajuce sortiran niz ubacuje broj na odgovarajuce mesto.
void ubaci_u_neopadajuci_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]={2,4,6,8,10,12,14};
int n=7;
prikazi_niz("",niz,n);
ubaci_u_neopadajuci_niz(niz,&n,15);
ubaci_u_neopadajuci_niz(niz,&n,1);
ubaci_u_neopadajuci_niz(niz,&n,7);
ubaci_u_neopadajuci_niz(niz,&n,13);
ubaci_u_neopadajuci_niz(niz,&n,17);
prikazi_niz("",niz,n);
return 0;
}