7.2.. Urediti 3 učitana broja po opadajućem redoslijedu.
Opis rješenja:
Porede se prva dva broja
a i b i izvodi uređenje (a > b izvedi izmjenu) , zatim se poredi a i c i izvodi uređenje (a > c izvedi izmjenu). Na kraju se uređuju poslednja dva broja b i c (b > c izvedi izmjenu).
|
|
|
|
Slika 1. Početni položaj |
Slika 2. Animacija |
Slika 3. Krajnji položaj |
Slika 4. Redoslijed zamjene |
Primjer: 5 > 3 > 2 - opadajući redoslijed
Vrijednost |
Oznaka |
Oznaka2 |
Opis |
2 |
min |
min |
najmanji |
3 |
mid |
mid |
srednji |
5 |
max |
max |
najveći |
// 07211062
#include <stdio.h>
int main()
{
float a, b, c, p; // deklarisanje varjabli
printf("Unesite tri broja: ");
scanf("%f", &a); // ulaz a
scanf("%f", &b); // ulaz b
scanf("%f", &c); // ulaz c
printf("Ucitana tri broja: \n");
printf(" a: %f b %f c %f \n", a, b, c);
if(a < b) // varijabla a manja od varijble b; tj. pogresan redoslijed zamjeni mjesta?
{
p=a; // pomocna varijabla p prima vrijednost varijable a
a=b; // varijabla a prima vrijednost varijable b
b=p; // varijabla b prima vrijednost pomocne varijabla p
} // zamjenjen redoslijed prve dvije varijable
if(a < c) // pogresan redoslijed zamjeni mjesta?
{
p=a;
a=c;
c=p;
}
if(b < c) // pogresan redoslijed zamjeni mjesta?
{
p=b;
b=c;
c=p;
}
printf("Uredjena tri broja: \n");
printf(" a: %f b %f c %f", a, b, c);
return 0;
}
Ispis na ekranu:
Index
|
|