6.4.. Putovanje traje n sekundi. Izračunaj koliko je to sati, minuta i sekundi.

Opis rješenja: Sat ima 3600 sekundi. Dijeljenjem vremena u sekundama sa 3600 dobijamo sate sat = n DIV 3600. Ostatak sekundi (sek1) se dijeli sa 60 i dobijamo minute, a ostatak dijeljenja sek1 sa 60 su sekunde.

Opis rješenja: Odnos sati, minuta i sekundi je 1 h = 60 min; 1 min = 60 s. Poslije učitavanja vrijednosti u sekundama izvodi se:
I varijanta - izračunavanje pretvaranje
h = n / 3600; // broj sati je cio dio dijeljenja vrijednosti sekundi sa 3600
ostatak u sekundama je n1 = n % 3600, od ukupnog broja sekundi za minute se uzima samo cio dio dijeljenja sa 60 tj. m = n % 3600 / 60;
sekunde su od ukupnog broja sekundi ostatak dijeljenja sa 60 tj. s = n % 60;
Poslije učitavanja trajanja u sekundama izvodi se:
II varijanta - izračunavanje izraza korak po korak pa onda ispis.
III varijanta - izračunavanje izraza iz I varijante u naredbi ispisa cout.

Tekstualni algoritam:

I varijanta
  1. ulaz - učitati: "Broj sekundi: ", n
  2. obrada - izračunati:
    h = n / 3600 // pretvaranje sekundi u sate
    m = n % 3600 / 60; // pretvaranje u minute
    s = n % 60; // ostatak dijeljenja - sekunde
  3. izlaz - ispisati: "Broj sati je: ";h; ", broj minuta je: ";m; ", a broj sekundi je:";n2
II varijanta
  1. ulaz - učitati: "Broj sekundi: ", n
  2. obrada - izračunati:
    h = n / 3600
    n1 = n % 3600
    m = n1 / 60
    n2 = n1 % 60
  3. izlaz - ispisati: "Broj sati je: ";h; ", broj minuta je: ";m; ", a broj sekundi je:";n2

Listing programa:

// 06412012
#include<stdio.h>
int main()
{
    int n,sat,min,sek, sek1;    // deklarisanje varijabli
    printf("Broj sekundi: ");   // ime varijable cija vrijednost se ucitava
    scanf("%d", &n);            // ucitavanje vrijednosti varijable sa tastature

    sat=n/3600;;                // pretvaranje sekundi u sate
    min = n % 3600 / 60;        // pretvaranje u minute
    sek = n % 60;               // ostatak dijeljenja - sekunde
    printf("Proteklo %d sati,%d minuta i %d sekundi", sat, min, sek); // ispis vrijednosti
    return 0;
}

II varijanta
// 06412012
#include<stdio.h>
int main()
{
    int n, sat, min,sek, n1;    // deklarisanje varijabli
    printf("Broj sekundi: ");   // ime varijable cija vrijednost se ucitava
    scanf("%d", &n);            // ucitavanje vrijednosti varijable sa tastature

    sat=n/3600;;                // pretvaranje sekundi u sate
    n1 = n % 3600;                 // ostatak dijeljenja za sate (minute)
    min = n1 / 60;        // pretvaranje u minute
    sek = n % 60;               // ostatak dijeljenja - sekunde
    printf("Proteklo %d sati,%d minuta i %d sekundi", sat, min, sek); // ispis vrijednosti
    return 0;
}

III varijanta
// 06412012
#include<stdio.h>
int main()
{
    int n;    // deklarisanje varijabli
    printf("Broj sekundi: ");   // ime varijable cija vrijednost se ucitava
    scanf("%d", &n);            // ucitavanje vrijednosti varijable sa tastature

    printf("Proteklo %d sati,%d minuta i %d sekundi", n/3600, n % 3600 / 60, n % 60); // ispis vrijednosti
    return 0;
}

Ispis na ekranu:

Cjelobrojno dijeljenje i modul (%) sa primjerima
Dijeljenja sa 2
Ostatka dijeljenja sa 2
Dijeljenje sa 10 i 100
Sekunde u sate, minute i sekunde

Index