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.

  1. Prvom naredbom if-else upoređuju se t1 i t2. U promenljivu tMin smešta se manja od te dve vrednosti.
  2. Zatim se treća vrednost, t3, poredi sa trenutnim minimumom.
  3. Ako je t3 manja od tMin, ona postaje novi minimum. U suprotnom, postojeći minimum ostaje nepromenjen.
  4. 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.