clzola
29.11.2010, 13:34
Zadatak je: Uneti n brojeva, i ispisati ih od najmanjeg ka najvecem.
Uspio sam da napisem da program nadje najmanji broj
#include <stdio.h>
int main()
{
int n, i, k;
int Min;
scanf("%d", &n);
int array[n]; // Niz unetih brojeva
int minmax[n]; // Niz brojeva poredjanih od najmanjeg ka najvecem
for(i=0; i<n; i++) {
scanf("%d", &array[i]);
}
Min = array[0];
for(k=0; k<n; k++) {
for(i=0; i<n; i++) {
if(Min > array[i]) {
Min = array[i];
}
}
minmax[k] = Min;
}
for(k=0; k<n; k++)
printf("\n%d\n", minmax[k]);
return 0;
}
Unesem za promenljivu n: 7
A zatim za niz array[n]: 4 2 5 6 8 1 3
Najmanji broj je 1.
Posle ovoga, na izlazu se ispise niz minmax[n] u kome bi trebalo da su brojevi poredjani od najmanjeg ka najvecem. Medjutim, ja na izlazu dobijem sve 1. Dobijem to zato sto moj algoritam gore trazi najmanji broj u unijetom nizu, i svaki put je to 1. Ne znam kako da mu kazem "nemoj vise da ispitujes 1" :/
Moze pomoc oko ovog? :D
Uspio sam da napisem da program nadje najmanji broj
#include <stdio.h>
int main()
{
int n, i, k;
int Min;
scanf("%d", &n);
int array[n]; // Niz unetih brojeva
int minmax[n]; // Niz brojeva poredjanih od najmanjeg ka najvecem
for(i=0; i<n; i++) {
scanf("%d", &array[i]);
}
Min = array[0];
for(k=0; k<n; k++) {
for(i=0; i<n; i++) {
if(Min > array[i]) {
Min = array[i];
}
}
minmax[k] = Min;
}
for(k=0; k<n; k++)
printf("\n%d\n", minmax[k]);
return 0;
}
Unesem za promenljivu n: 7
A zatim za niz array[n]: 4 2 5 6 8 1 3
Najmanji broj je 1.
Posle ovoga, na izlazu se ispise niz minmax[n] u kome bi trebalo da su brojevi poredjani od najmanjeg ka najvecem. Medjutim, ja na izlazu dobijem sve 1. Dobijem to zato sto moj algoritam gore trazi najmanji broj u unijetom nizu, i svaki put je to 1. Ne znam kako da mu kazem "nemoj vise da ispitujes 1" :/
Moze pomoc oko ovog? :D