Ajde da probam iz glave
Code:
//prvo nadjemo najmanji i najveci element
min = niz[0];
max = niz[0];
for (i=1; i<n; i++) {
if (niz[n] < min)
min = niz[n];
if (niz[n] > max)
max = niz[n];
}
//prvi element zapamtimo
rez[0] = min;
br_nadjenih = 1;
prvi_veci = max;
nadjeno = 0;
for (i=0; i <= n; i++) {
for (j=0; j <= n; j++) {
if ( (niz[j] > min) and (niz[j] < prvi_veci) {
prvi_veci = niz[j];
nadjeno = 1;
}
}
if (nadjeno) {
rez[br_nadjenih] = prvi_veci;
br_nadjenih++;
nadjeno = 0;
min = prvi_veci;
prvi_veci = max;
} else {
rez[br_nadjenih] = prvi_veci; //odnosno max;
break; //izadji iz petlje
}
}
Dakle, logika je ova:
nadjes max i min element
min, je prvi clan rezultata, a potom trazis prvi_veci, kao najmanji veci
od poslednjeg nadjenog elementa (njega pamti promenljiva min). Kad ga
nadjes, dodas ga u rezultujuci niz, i povecas min da pamti da ne trazi
mani od tog. Ako ga ne nadje, to znaci da je prvi_veci, koji je max,
poslednji i najveci element koji jos nije unet u rezultat, pa ga dodas i
izadjes iz petlje.
Pera električar 0637129710, BG, preporučujem.