6.4.. Napisati program koji učitava petocifreni broj i ispisuje cifre.

Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema. Petocifren broj: broj = a*104 + b*103 + c*102 + d*101 + e*100. Izrazom broj % 10 dobijamo jedinice broja (u ovom slučaju petocifrenog). Cjelobrojnim dijeljenom sa 100 dobija se cifra stotica. Cifrea jedinica je ostatak dijeljenje sa 10. Cjelobrojnim dijeljenom sa 10 dobiju se prve dvije cifre, one se dijele sa 10 i ostatak dijeljenja je cifra desetica. Vidi primjere >>.
Petocifren broj x koji se predstavlja x = abcde. Izdvajanje cifara se izvodi slijeva cjelobrojnim dijljenjem a zatim se dobija ostatak korišćenjem naredbe MOD (%) ostatak cjalobrojanog dijeljenja:
I varijanta - izdvajanja cifara s lijeva;
II varijanta - izdvajanja cifara s desna

Tekstualni algoritam:

  1. ulaz - učitati petocifren broj: x
  2. obrada - izračunati:
    abcde / 10000 = a // cifra deset hiljadica
    (abcde % 10000) / 1000 = bcde / 1000 = b // cifra hiljadica
    (abcde % 1000) / 100 = cde / 100 = c // cifra stotica
    (abcde % 100) / 10 = de / 10 = d // cifra desetica
    abcde % 10 = e // cifra jedinica
  3. izlaz - ispisati: x, a, b, c, d, e
II varijanta
  1. ulaz - učitati petocifren broj: x
  2. obrada - izračunati:
    x%10 = abcde % 10 = e // cifra jedinica, ostatak dijeljenja (%) sa 10
    x/10 = abcde / 10 = abcd = x // odbacuje se cifra s desna i ostaju prve 4 cifre - cetverocifren broj
    x%10 = abcd % 10 = d // cifra desetica, ostatak dijeljenja (%) sa 10
    x/10 = abcd / 10 = abc = x // odbacuje se cifra s desna i ostaju prve 3 cifre - trocifren broj
    x%10 = abc % 10 = c // cifra stotica, ostatak dijeljenja (%) sa 10
    x/10 = abc / 10 = ab = x // odbacuje se cifra s desna i ostaju prve 2 cifre - dvocifren broj
    x%10 = ab % 10 = b // cifra hiljadica, ostatak dijeljenja (%) sa 10
    x/10 = ab / 10 = a = x // odbacuje se cifra s desna i ostaju prve 2 cifre - dvocifren broj
  3. izlaz - ispisati: x, a, b, c, d, e

Listing programa:

// 06421156
#include <iostream>
using namespace std;
int main()
{
    int x, a, b, c, d, e;               // deklarisanje varijabli
    cout << "Ucitaj petocifren broj: "; // ime varijable cija vrijednost se ucitava  
    cin >> x;                           // ucitavanje vrijednosti varijable sa tastature 

    a = x / 10000;          // cifra deset hiljadica 
    b = (x % 10000)/1000;   // cifra hiljadica 
    c = (x % 1000)/100;     // cifra stotica
    d = (x % 100)/10;       // cifra desetica
    e = x % 10;             // cifra jedinica
    
    cout << "Cifra deset hiljadica: " << a << endl;  // ispis vrijednosti
    cout << "Cifra hiljadica: " << b << endl;        // ispis vrijednosti
    cout << "Cifra stotica: " << c << endl;          // ispis vrijednosti
    cout << "Cifra desetica: " << d << endl;         // ispis vrijednosti
    cout << "Cifra jedinica: " << e << endl;         // ispis vrijednosti
    return 0; 
}

II varijanta
// 06421156
#include <iostream>
using namespace std;
int main()
{
    int x, a, b, c, d, e;               // deklarisanje varijabli
    cout << "Ucitaj petocifren broj: "; // ime varijable cija vrijednost se ucitava  
    cin >> x;                           // ucitavanje vrijednosti varijable sa tastature 
    
    e = x%10; 	 // petocifren broj deljenjem sa ostatkom (%) sa 10 dobijamo zeljeni ostatak na 5. mestu
    x = x/10;	 // petocifreni broj celobrojnim deljenjem (/) sa 10 zelimo da svedemo na cetvorocifren
    d = x%10;    // broj iz prethodnog koraka je cetvofocifren i deljenjem (%) sa 10 dobijamo ponovo ostatak sada na 4. mestu
    x = x/10;	 // cetvorocifren broj deljenjem (/) sa 10 svodimo na trocifren broj
    c = x%10;	 // iz prethodno svedenog trocifrenog broja deljenjem (%) sa 10 dobijamo ponovo ostatak na 3. mestu
    x = x/10;    // trocifreni broj iz prethodnog koraka deljenjem (/) sa 10 svodimo na dvocifren broj
    b = x%10;	 // postojeci dvocifren broj deljenjem (%) sa 10 dobijamo ostatak na 2. mestu
    a = x/10;	 // dvocifren broj delimo (/) sa 10 da ga svedemo na poslednju (jednu) cifru
    
    cout << "Cifra deset hiljadica: " << a << endl;  // ispis vrijednosti
    cout << "Cifra hiljadica: " << b << endl;        // ispis vrijednosti
    cout << "Cifra stotica: " << c << endl;          // ispis vrijednosti
    cout << "Cifra desetica: " << d << endl;         // ispis vrijednosti
    cout << "Cifra jedinica: " << e << endl;         // ispis vrijednosti
    return 0;
}

Ispis na ekranu:

Index