Minimum tri broja – rešenje
U ovom rešenju učitavaju se tri broja koji predstavljaju očitane temperature u stepenima Celzijusa. Cilj je pronaći najmanju od te tri vrednosti i ispisati je na ekranu.
Objašnjenje postupka
Najpre se učitaju vrednosti t1, t2 i t3. Promenljiva tMin čuva trenutno najmanju pronađenu vrednost.
- Prvom naredbom
if-elseupoređuju set1it2. U promenljivutMinsmešta se manja od te dve vrednosti. - Zatim se treća vrednost,
t3, poredi sa trenutnim minimumom. - Ako je
t3manja odtMin, ona postaje novi minimum. U suprotnom, postojeći minimum ostaje nepromenjen. - Na kraju se ispisuje najmanja vrednost.
Važno je da se druga provera izvrši nezavisno od prve: čak i kada je t1 manja od t2, treća vrednost i dalje može biti najmanja od sve tri.
Rešenje u programskom jeziku C
#include <stdio.h>
int main(void)
{
double t1, t2, t3, tMin;
printf("Unesite temperature t1, t2 i t3: ");
if (scanf("%lf %lf %lf", &t1, &t2, &t3) != 3) {
printf("Neispravan unos.\n");
return 1;
}
/* Određujemo manju vrednost između t1 i t2. */
if (t1 < t2) {
tMin = t1;
} else {
tMin = t2;
}
/* Proveravamo da li je t3 manja od dosadašnjeg minimuma. */
if (t3 < tMin) {
tMin = t3;
}
printf("Najmanja očitana temperatura je %.2f stepeni.\n", tMin);
return 0;
}
Primer izvršavanja
Ako su unete temperature -2.5, 0 i 4.25, najpre se porede prve dve vrednosti i za početni minimum bira se -2.5. Treća vrednost nije manja od trenutnog minimuma, pa se minimum ne menja.
Unesite temperature t1, t2 i t3: -2.5 0 4.25
Najmanja očitana temperatura je -2.50 stepeni.
Još jedan primer: za vrednosti 8, 3.5 i -1, prvi minimum je 3.5, a nakon poređenja sa trećom vrednošću konačni minimum postaje -1.
Napomena
Iako naziv zadatka govori o celim brojevima, prikazani program koristi tip double, pa može da obradi i decimalne vrednosti, kao što su temperature. Ako zadatak zaista zahteva isključivo cele brojeve, promenljive treba deklarisati kao int, a u funkciji scanf koristiti format %d.
