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 vrijednost jedinice broja (u ovom slučaju dvocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dvocifrenog broja se dobija vrijednost cifre desetica. Ispisati prvi cifru desetica pa cifru jedinica.

Opis programa:

Listing programa:

// 06411109
#include <stdio.h>
int main()
{
    int x, y, broj;
    printf("Dvocifren broj:");
    scanf("%d",&broj);
	  
    x = broj / 10;    // cifra desetica 
    y = broj % 10;    // cifra jedinica
    printf("Broj= %d  Cifra desetica= %d  Cifra jedinica= %d", broj, x, y);  // ispis
	return 0;
}

Ispis na ekranu:
Dvocifren broj 34
Broj= 34  Cifra desetica= 3  Cifra jedinica= 4

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 dijeljene sa 10 (broj // 10) dvocifrenog broja se dobija cifra desetica. Ispisati prvi cifru desetica pa cifru jedinica.

Opis programa:

Listing programa:

// 06411102
#include <stdio.h>
int main()
{
    int x, y, broj;
    printf("Dvocifren broj:");
    scanf("%d",&broj);
	  
    x = broj / 10;    // cifra desetica 
    y = broj % 10;    // cifra jedinica
	  
    printf("Broj= %d  Cifra jedinica= %d  Cifra desetica= %d", broj, y, x);  // ispis
	  
    return 0;
}  

Ispis na ekranu:
Dvocifren broj 23
Broj= 23  Cifra jedinica= 3  Cifra desetica= 2

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 dijeljene sa 10 (broj // 10) dvocifrenog broja se dobija cifra desetica. Ispisati prvo cifru desetica pa cifru jedinica.

Opis programa:

Listing programa:

// 06411103
#include <stdio.h>
int main()
{
      int x, y, s, broj;
      printf("Dvocifren broj:");
      scanf("%d",&broj);
	  
      x = broj / 10;    // cifra desetica 
      y = broj % 10;	// cifra jedinica
      s = x + y;        // suma cifara
	  
      printf("Broj= %d  Cifra desetica= %d  Cifra jedinica= %d  Suma cifra= %d", broj, x, y, s);  // ispis
	  
      return 0;
}

Ispis na ekranu:
Dvocifren broj 23
Broj= 23  Cifra desetica= 2  Cifra jedinica= 3  Suma cifra= 5

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) dobijamo jedinice broja (u ovom slučaju trocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dobija se dvocifren broj. Zatim ponoviti postupak iz prethodnog zadatka.

Opis programa:

Listing programa:

# 06411104
#include <stdio.h>
int main()
{
    int x, y, z, t, broj;
    printf("Trocifren broj:");
    scanf("%d", &broj);
	  
    z = broj % 10;      // cifra jedinica
    t = broj / 10;      // podijeli trocifreni broj sa 10
    y = t % 10;         // cifra desetica (iz dvocifrenog dijela)
    x = t / 10;         // cifra stotica  (iz dvocifrenog dijela)      
	  
    printf("Trocifren broj= %d  Cifra stotica= %d  Cifra desetica= %d  Cifra jedinica= %d", broj, x, y, z);  // ispis
	  
    return 0;
}  

Ispis na ekranu:
Trocifren broj 236
Trocifren broj= 236  Cifra stotica= 2  Cifra desetica= 3  Cifra jedinica= 6


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 dijeljene sa 10 (broj // 10) dobija se dvocifren broj. Zatim ponoviti postupak iz prethodnog zadatka. Ispisati izdvojene cifre unazad.

Opis programa:

Listing programa:

// 06411105
#include <stdio.h>
int main()
{
    int x, y, z, t, broj;
    printf("Trocifren broj:");
    scanf("%d", &broj);
	  
    z = broj % 10;      // cifra jedinica
    t = broj / 10;      // podijeli trocifreni broj sa 10
    y = t % 10;         // cifra desetica (iz dvocifrenog dijela)
    x = t / 10;         // cifra stotica  (iz dvocifrenog dijela)      
	  
    printf("Trocifren broj= %d  Cifra jedinica= %d  Cifra desetica= %d  Cifra stotica= %d", broj, z, y, x);  // ispis

    return 0;
} 

Ispis na ekranu:
Trocifren broj 234
Trocifren broj= 234  Cifra jedinica= 4  Cifra desetica= 3  Cifra stotica= 2

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 dijeljene sa 10 (broj // 10) dobija se dvocifren broj. Zatim ponoviti postupak iz prethodnog zadatka.

Opis programa:

Listing programa:

// 06411106
#include <stdio.h>
int main()
{
    int x, y, z, t, broj, s;
    printf("Trocifren broj:");
    scanf("%d", &broj);
	  
    z = broj % 10;      // cifra jedinica
    t = broj / 10;      // prve dvije cifre
    y = t % 10;         // cifra desetica (iz dvocifrenog dijela)
    x = t / 10;         // cifra stotica  (iz dvocifrenog dijela) 
    s = x + y + z;      // suma cifra
	  
    printf("Trocifren broj= %d  Cifra stotica= %d  Cifra desetica= %d  Cifra jedinica= %d  Suma cifara= %d", broj, x, y, z, s);  // ispis

    return 0;
}  

Ispis na ekranu:
Trocifren broj 123
Trocifren broj= 123  Cifra stotica= 1  Cifra desetica= 2  Cifra jedinica= 3  Suma cifara= 6

6.4.7. Izdvojiti cifre četverocifrenog broja.

Opis rješenja: Izrazom (broj % 10) dobijamo jedinice broja (u ovom slučaju dvocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dobija se dvocifren broj. Zatim ponoviti postupak iz prethodnog zadatka.

Opis programa: Pri pretvaranju se koristi osobina pozicionog sistema.Četverocifren broj
broj = w*103 + x*102 + y*101 + z*100

Listing programa:

// 06411107
#include <stdio.h>
int main()
{
    int x, y, z, w, t, broj;
    printf("Cetverocifren broj:");
    scanf("%d", &broj);            // ulaz
 
    z = broj % 10;      // cifra jedinica
    t = broj / 10;      // prve tri cifre
    y = t % 10;         // cifra desetica 
    t = t / 10;         // prve dvije cifre
    x = t %  10;        // cifra stotica 
    w = t / 10;         // cifra hiljadica
    
    printf("Cetverocifren broj= %d  Cifra hiljadica= %d  Cifra stotica= %d  Cifra desetica= %d  Cifra jedinica= %d", broj, w, x, y, z);  // ispis

    return 0;
}  

Ispis na ekranu:
Cetverocifren broj 2345
Cetverocifren broj= 2345  Cifra hiljadica= 2  Cifra stotica= 3  Cifra desetica= 4  Cifra jedinica= 5

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

Opis rješenja: Izrazom (broj % 10) dobijamo jedinice broja (u ovom slučaju dvocifrenog). Cjelobrojnim dijeljene sa 10 (broj // 10) dobija se dvocifren broj. Zatim ponoviti postupak iz prethodnog zadatka.

Opis programa: Pri pretvaranju se koristi osobina pozicionog sistema.Četverocifren broj
broj = w*103 + x*102 + y*101 + z*100

Listing programa:

// 06411108
#include <stdio.h>
int main()
{
    int x, y, z, w, t, broj;
    printf("Cetverocifren broj:");
    scanf("%d", &broj);            // ulaz
 
    z = broj % 10;      // cifra jedinica
    t = broj / 10;      // prve tri cifre
    y = t % 10;         // cifra desetica 
    t = t / 10;         // prve dvije cifre
    x = t %  10;        // cifra stotica 
    w = t / 10;         // cifra hiljadica
    
    printf("Cetverocifren broj= %d  Cifra jedinica= %d  Cifra desetica= %d  Cifra stotica= %d  Cifra hiljadica= %d", broj, z, y, x, w);  // ispis

    return 0;
}  

Ispis na ekranu:
Cetverocifren broj 2345
Cetverocifren broj= 2345  Cifra jedinica= 5  Cifra desetica= 4  Cifra stotica= 3  Cifra hiljadica= 2

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.

Listing programa:

# 14612034
#include <stdio.h>
int main()
{
  printf("Armstrongovi brojevi\n");
  int i, a, b, c;
  for ( i = 100; i <= 999; i++) {  // ponavljanje za i=100 do i=999 - pocetak petlje
    a = i / 100;
    b = i % 100 / 10;
    c = i % 10;
    if (a*a*a  + b*b*b + c*c*c == i)
        printf("%d - Armstrongov broj\n", i);
  }
}

Ispis na ekranu:

Index