abc Programski jezik C
6.4. Izdvajanje cifara dvocifrenog, trocifrenog, ... broja

6.4.1. Izdvojiti cifre dvocifrenog broja. Ispisati prvi cifru desetica pa cifru jedinica.

Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema. Dvocifren broj
broj = x*101 + y*100
Ostatak dijeljenja dvocifrenog broja sa 10 broj % 10 dobijamo jedinice broja (u ovom slučaju dvocifrenog). Cjelobrojnim dijeljenom sa 10 (broj / 10) dvocifrenog broja se dobija cifra desetica. Vidi primjere >>. Ispisati prvi cifru desetica pa cifru jedinica.

Listing programa:

// 06411109
#include <iostream>
using namespace std;
int main() 
{
    int x, y, a;                      // deklarisanje varijabli
    cout << "Ucitaj dvocifren broj: ";// ime varijable cija vrijednost se ucitava    
    cin >> a;                         // ucitavanje vrijednosti varijable sa tastature 
    
    x = a / 10;                       // izdvajanje cifre desetica
    y = a % 10;                       // izdvajanje cifre jedinica
    cout << "Broj = " << a  << endl;  // ispis vrijednosti
    cout << "Cifra desetica = " << x  << "   Cifra jedinica = " << y;// ispis vrijednosti 
    return 0;
}

Ispis na ekranu:

6.4.2. Izdvojiti cifre dvocifrenog broja i ispisati unazad.

Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema. Dvocifren broj
broj = x*101 + y*100
Ostatak dijeljenja dvocifrenog broja sa 10 broj % 10 dobijamo jedinice broja (u ovom slučaju dvocifrenog). Cjelobrojnim dijeljenom sa 10 (broj / 10) dvocifrenog broja se dobija cifra desetica. Vidi primjere >>. Ispisati prvi cifru desetica pa cifru jedinica.

Listing programa:

// 06411102
#include <iostream>
using namespace std;
int main() 
{
    int x, y, a;                        // deklarisanje varijabli
    cout << "Ucitaj dvocifren broj: ";  // ime varijable cija vrijednost se ucitava    
    cin >> a;                           // ucitavanje vrijednosti varijable sa tastature 
    
    x = a / 10;                         // izdvajanje cifre desetica
    y = a % 10;                         // izdvajanje cifre jedinica
    cout << "Broj = " << a  << endl;    // ispis vrijednosti
    cout << "Cifra jedinica = " << y  << "   Cifra desetica = " << x;  // ispis vrijednosti 
    return 0;
}

Ispis na ekranu:

6.4.3. Izdvojiti cifre dvocifrenog broja. Sabrati cifre i ispisati broj, cifre i sumu.

Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema. Dvocifren broj
broj = x*101 + y*100
Ostatak dijeljenja dvocifrenog broja sa 10 broj % 10 dobijamo jedinice broja (u ovom slučaju dvocifrenog). Cjelobrojnim dijeljenom sa 10 (broj / 10) dvocifrenog broja se dobija cifra desetica. Vidi primjere >>. Sabrati cifru desetica i cifru jedinica.

Listing programa:

// 06411103
#include <iostream>
using namespace std;
int main() {
	int x, y, a, s;                  // deklarisanje varijabli
	cout<<"Ucitaj dvocifren broj: "; // ime varijable cija vrijednost se ucitava
	cin >> a;                        // ucitavanje vrijednosti varijable sa tastature 

	x = a / 10;                      // izdvajanje cifre desetica
	y = a % 10;                      // izdvajanje cifre jedinica
	s = x + y;                       // suma cifara
    cout << "Broj = " << a  << endl;               // ispis vrijednosti
	cout<<"Broj = "<<a<<". Suma cifara = "<<s<<endl; // ispis vrijednosti 		
	return 0;
}

Ispis na ekranu:

6.4.4. Izdvojiti cifre trocifrenog broja. Ispisati izdvojene cifre.

Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema.Trocifren broj
broj = x*102 + y*101 + z*100
Izrazom (broj % 10) dobija se jedinice broja (u ovom slučaju trocifrenog). Cjelobrojnim dijeljene sa 10 (broj / 10) dobija se dvocifren broj. Zatim ponoviti postupak iz prethodnog zadatka. Vidi primjere >>.

Listing programa:

// 06411104
#include <iostream>
using namespace std;

int main() {
	int broj, x, y, z, t;     // deklarisanje varijabli
	cout<<"Ucitaj trocifreni broj: "; // ime varijable cija vrijednost se ucitava
	cin >> broj;              // ucitavanje vrijednosti varijable sa tastature 
    
    x = broj / 100;         // cifra stotina
    y = broj / 10 % 10;     // cifra desetica
    z = broj % 10;          // cifra jedinica
	cout << "Broj je = " << broj << endl;     // ispis vrijednosti 
	cout << "Cifra stotina = " << x << endl;  // ispis vrijednosti 
	cout << "Cifra desetica = " << y << endl; // ispis vrijednosti 
	cout << "Cifra jedinica = " << z << endl; // ispis vrijednosti 
	return 0;
}

Ispis na ekranu:


6.4.5.
Izdvojiti cifre trocifrenog broja. Ispisati izdvojene cifre unazad.

Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema.Trocifren broj
broj = x*102 + y*101 + z*100
Izrazom broj % 10 dobijamo jedinice broja (u ovom slučaju trocifrenog). Cjelobrojnim dijeljenom sa 10 (broj / 10) dobija se dvocifren broj. Zatim ponoviti postupak iz prethodnog zadatka. Vidi primjere >>. Po učitavanju program prelazi na:
I varijanta - izračunavanje izraza, a zatim ispis;
II varijanta - izračunavanje izraza je u naredbi ispisa cout.

Listing programa:

// 06411105 
#include <iostream>
using namespace std;
int main() 
{
	int broj, x, y, z, t;	// deklarisanje varijabli
	cout<<"Ucitaj trocifreni broj: "; // ime varijable cija vrijednost se ucitava
	cin >> broj;            // ucitavanje vrijednosti varijable sa tastature 

	z = broj % 10;          // cifra jedinica
	y = broj / 10 % 10;     // cifra desetica
	x = broj / 100;         // cifra stotina
	cout << "Broj je = " << broj << endl; // ispis vrijednosti 
	cout << "Cifra jedinica = " << z << endl; // ispis vrijednosti 
	cout << "Cifra desetica = " << y << endl; // ispis vrijednosti 
	cout << "Cifra stotina = " << x << endl;  // ispis vrijednosti 
	return 0;
}

Ispis na ekranu:

6.4.6. Izdvojiti cifre trocifrenog broja. Sabrati izdvojene cifre.

Opis rješenja: Pri pretvaranju se koristi osobina pozicionog sistema.Trocifren broj
broj = x*102 + y*101 + z*100
Izrazom broj % 10 dobijamo jedinice broja (u ovom slučaju trocifrenog). Cjelobrojnim dijeljenom sa 10 (broj / 10) dobija se dvocifren broj. Zatim ponoviti postupak iz prethodnog zadatka. Vidi primjere >>. Po učitavanju program prelazi na:
I varijanta - izdvajanje cifara i izračunavanje izraza, a zatim ispis;
II varijanta - izdvajanje cifara korišćenjem pomoćne varijable i izračunavanje izraza, a zatim ispis;

Listing programa:

// 06411106
#include <iostream>
using namespace std;
int main() 
{
	int broj, x, y, z, t, s; // deklarisanje varijabli
	cout<<"Ucitaj trocifreni broj: "; // ime varijable cija vrijednost se ucitava
	cin >> broj;            // ucitavanje vrijednosti varijable sa tastature 
	
	z = broj % 10;          // cifra jedinica
	y = broj / 10 % 10;     // cifra desetica
	x = broj / 100;         // cifra stotina
	s = x + y + z;      // suma cifra
	cout << "Broj je  " << broj << endl;      // ispis vrijednosti 
	cout << "Cifra stotina = " << x << endl;  // ispis vrijednosti 
	cout << "Cifra desetica = " << y << endl; // ispis vrijednosti 
	cout << "Cifra jedinica = " << z << endl; // ispis vrijednosti 
	cout<< "Suma cifara = " << s << endl;     // ispis vrijednosti 		
	return 0;
}

Ispis na ekranu:

6.4.7. Izdvojiti cifre četverocifrenog broja.

Opis rješenja: Izrazom (broj % 10) dobijamo jedinice broja (u ovom slučaju četverocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dobija se dvocifren broj. Zatim ponoviti postupak iz prethodnog zadatka. Vidi primjere >>. Pri pretvaranju se koristi osobina pozicionog sistema.Četverocifren broj broj = a*103 + b*102 + c*101 + d*100

Tekstualni algoritam:

  1. ulaz - učitati petocifren broj: x
  2. obrada - izračunati:
    abcd / 1000 = a // cifra hiljadica
    (abcd % 1000) / 100 = bcd / 100 = b // cifra stotica
    (abcd % 100) / 10 = cd / 10 = c // cifra desetic
    abcd % 10 = d // cifra jedinica
  3. izlaz - ispisati: x, a, b, c, d
II varijanta
  1. ulaz - učitati petocifren broj: x
  2. obrada - izračunati:
    x%10 = abcd % 10 = d // cifra jedinica, ostatak dijeljenja (%) sa 10
    x/10 = abcd / 10 = abc = x // odbacuje se cifra s desna i ostaju prve 3 cifre - cetverocifren broj
    x%10 = abc % 10 = c // cifra desetica, ostatak dijeljenja (%) sa 10
    x/10 = abc / 10 = ab = x // odbacuje se cifra s desna i ostaju prve 2 cifre - trocifren broj
    x%10 = ab % 10 = b // cifra stotica, ostatak dijeljenja (%) sa 10
    x/10 = ab / 10 = a = x // odbacuje se cifra s desna i ostaju prva cifra - dvocifren broj
    x%10 = ab % 10 = a // 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

Listing programa:

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

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

II varijanta
// 06411107
#include <iostream>
using namespace std;
int main()
{
    int x, a, b, c, d;                  // deklarisanje varijabli
    cout << "Ucitaj cetverocifren broj: "; // ime varijable cija vrijednost se ucitava  
    cin >> x;                           // ucitavanje vrijednosti varijable sa tastature 
    
    d = x%10;    // deljenjem sa ostatkom (%) sa 10 dobija se prva cifra s desne strane
    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 hiljada = " << a << endl;     // ispis vrijednosti
    cout << "Cifra stotina = " << b << endl;    // ispis vrijednosti
    cout << "Cifra desetica = " << c << endl;    // ispis vrijednosti
    cout << "Cifra jedinica = " << d << endl;  // ispis vrijednosti
    return 0;
}

Ispis na ekranu:

6.4.8. Napisati program koji učitava četverocifreni broj i ispisuje cifre unazad.

6.4.7. Izdvojiti cifre četverocifrenog broja.

Opis rješenja: Izrazom (broj % 10) dobijamo jedinice broja (u ovom slučaju četverocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dobija se dvocifren broj. Zatim ponoviti postupak iz prethodnog zadatka. Vidi primjere >>. Pri pretvaranju se koristi osobina pozicionog sistema.Četverocifren broj broj = a*103 + b*102 + c*101 + d*100
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:
    abcd / 1000 = a // cifra hiljadica
    (abcd % 1000) / 100 = bcd / 100 = b // cifra stotica
    (abcd % 100) / 10 = cd / 10 = c // cifra desetic
    abcd % 10 = d // cifra jedinica
  3. izlaz - ispisati: x, d, c, b, a
II varijanta
  1. ulaz - učitati petocifren broj: x
  2. obrada - izračunati:
    x%10 = abcd % 10 = d // cifra jedinica, ostatak dijeljenja (%) sa 10
    x/10 = abcd / 10 = abc = x // odbacuje se cifra s desna i ostaju prve 3 cifre - cetverocifren broj
    x%10 = abc % 10 = c // cifra desetica, ostatak dijeljenja (%) sa 10
    x/10 = abc / 10 = ab = x // odbacuje se cifra s desna i ostaju prve 2 cifre - trocifren broj
    x%10 = ab % 10 = b // cifra stotica, ostatak dijeljenja (%) sa 10
    x/10 = ab / 10 = a = x // odbacuje se cifra s desna i ostaju prva cifra - dvocifren broj
    x%10 = ab % 10 = a // 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, d, c, b, a

Listing programa:

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

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

II varijanta
// 06411108
#include <iostream>
using namespace std;
int main()
{
    int x, a, b, c, d;                  // deklarisanje varijabli
    cout << "Ucitaj cetverocifren broj: "; // ime varijable cija vrijednost se ucitava  
    cin >> x;                           // ucitavanje vrijednosti varijable sa tastature 
    
    d = x%10;    // deljenjem sa ostatkom (%) sa 10 dobija se prva cifra s desne strane
    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 jedinica = " << d << endl;  // ispis vrijednosti
    cout << "Cifra desetica = " << c << endl;    // ispis vrijednosti
    cout << "Cifra stotina = " << b << endl;    // ispis vrijednosti
    cout << "Cifra hiljada = " << a << endl;     // ispis vrijednosti
    return 0;
}

Ispis na ekranu:

6.4.9. Napisati program za ispis trocifrenih brojeva koji su jedanki sumi kubova svojih cifara (Amstrongov broj).

Opis rješenja: Izdvajanje cifara iz dvocivrenog broja je:
a = i // 100 - Količnik dijeljenja sa 100 je cifra desetica
b = i % 100 // 10 Ostatak dijeljnja sa 100 je dvocifren broj a dijeljnjem dvocifrenog broja sa 10 cjelobrojni količnik je cifra desetica.
c = i % 10 Ostatak dijeljna sa 10 je cifra jedinica.
Sabiraju se kubovi svih cifara i provjera da li je suma jednak trocifrenom broju. Ako je ispunjen uslov to je Amstrongov broj.
Vidi primjere >>.

Listing programa:

// 14612034
#include<iostream>
using namespace std;

int main()
{
    int i, a, b, c;               // deklarisanje varijabli
    cout << "Amstrongovi brojevi" << endl;
    for(i = 100; i <=999; i++) {
        a = i / 100;         // stotice
        b = (i % 100) / 10;  // desetice
        c = i % 10;          // jedinice
        if((a*a*a  + b*b*b + c*c*c) == i)
            cout << i <<"  Amstrongov broj"<<endl;
	}
	return 0;
}

Ispis na ekranu:

Index