ZADATAK 4: "RAZMENA CIFARA" - REŠENJE

​U ovom zadatku ćemo se baviti problemom zamene cifara u datom prirodnom broju. Cilj je zameniti cifru jedinica sa cifrom stotina u broju, dok ostale cifre ostaju nepromenjene. Ovaj zadatak nam omogućava da vežbamo rad sa aritmetičkim operacijama i manipulaciju brojevima u programskom kodiranju.​Rešenja zadataka iz C, C++ i Jave
Na ovoj stranici možete pronaći rešenja i objašnjenja za različite zadatke iz programiranja u jezicima C, C++ i Java. Ova rešenja su pažljivo izrađena kako bi vam pomogla da bolje razumete osnovne i napredne tehnike programiranja, uključujući manipulaciju brojevima, rad sa ciframa i rešavanje matematičkih problema. Svi zadaci su opremljeni detaljnim objašnjenjima i primerima izlaza, kako bi vam omogućili lakše praćenje i razumevanje.
Primeri zadataka: Ovaj sadržaj je koristan za sve koji žele da poboljšaju svoje veštine u programiranju kroz praktične primere i objašnjenja. Svaki zadatak je analiziran i detaljno opisan, sa jasnim koracima za implementaciju i objašnjenje svakog dela koda.

Programski jezik C

#include <stdio.h>

int main() {
int n, jedinice, stotine, desetice, broj;

// Unos prirodnog broja
    scanf("%d", &n);

// Izdvajamo cifre
    jedinice = n % 10;                // Cifra jedinica (ostatak pri deljenju sa 10)

    stotine = (n / 100) % 10;         // Cifra stotina (ostatak pri deljenju sa 1000, a zatim sa 10)

    desetice = (n / 10) % 10;         // Cifra desetica (ostatak pri deljenju sa 100, a zatim sa 10)

// Računanje novog broja sa zamenjenim ciframa
    broj = (n / 1000) * 1000 + jedinice * 100 + desetice * 10 + stotine;

// Štampanje rezultata
    printf("%d", broj);

return 0;
}
Objašnjenje:
  1. Unos broja:
    • Koristimo scanf("%d", &n) za unos broja.
  2. Izdvajanje cifara:
    • Cifra jedinica (jedinice) se dobija sa n % 10.
    • Cifra stotina (stotine) se računa tako što broj podelimo sa 100, a zatim uzimamo ostatak pri deljenju sa 10.
    • Cifra desetica (desetice) se dobija tako što broj podelimo sa 10, a zatim uzimamo ostatak pri deljenju sa 10.
  3. Kreiranje novog broja:
    • Novi broj se gradi tako što se prvo uzima deo broja bez poslednje tri cifre, zatim se dodaju cifre jedinica i stotina na odgovarajuća mesta.
  4. Ispis rezultata:
    • Na kraju, broj sa zamenjenim ciframa se ispisuje sa printf("%d", broj);.
Testiranje:Primer 1:
Ulaz
: 2349
Izlaz: 2943

Primer 2:
Ulaz: 45
Izlaz: 504

Primer 3:
Ulaz:
7
Izlaz
: 7







C++

#include <iostream>
using namespace std;

int main() {
int broj;
cin >> broj;

// Izdvajamo cifre
int stotine = (broj / 100) % 10;   // Cifra stotina
int jedinice = broj % 10;           // Cifra jedinica
int desetice = (broj / 10) % 10;   // Cifra desetica

// Pravimo novi broj sa zamenjenim ciframa
int noviBroj = (jedinice * 100) + (desetice * 10) + stotine;

// Ispisujemo rezultat
cout << noviBroj << endl;

return 0;
}

Objašnjenje koda:
  1. Unos broja: Na početku programa korisnik unosi broj.
  2. Izdvajanje cifara:
    • Cifra stotina se dobija tako što broj podelimo sa 100, a zatim uzimamo poslednju cifru (% 10).
    • Cifra jedinica se dobija tako što broj podelimo sa 1, a zatim uzimamo ostatak pri deljenju sa 10 (% 10).
    • Cifra desetica se dobija tako što broj podelimo sa 10, a zatim uzimamo ostatak pri deljenju sa 10.
  3. Pravljenje novog broja: Novi broj se pravi tako što se cifre stotina i jedinica zamenjuju. Cifra stotina postaje cifra jedinica, a cifra jedinica postaje cifra stotina.
  4. Ispis rezultata: Na kraju, novi broj se ispisuje.

Primer:

Ako unosimo broj 2349, program će izdvojiti cifre 2 (stotine), 4 (desetice), i 9 (jedinice). Novi broj će biti 2943, jer se cifra jedinica (9) i cifra stotina (2) zamenjuju.
Primer 1:
Ulaz: 2349
Izlaz: 2943
Primer 2:
Ulaz
: 45
Izlaz: 504

​Ovo rešenje je efikasno i koristi jednostavne matematičke operacije za izdvajanje i manipulisanje ciframa broja.

Programski jezik JAVA

import java.util.Scanner;

public class ZamenaCifara {
public static void main(String[] args) {
        Scanner ucitavac = new Scanner(System.in);
int n, b, j, s, os, d;

// Unos prirodnog broja
        System.out.println("Unesite prirodan broj:");
        n = ucitavac.nextInt();     // n = 2349

        j = n % 10;                // Ostatak deljenja n i 10, j = n % 10 = 9
        os = n % 1000;             // Ostatak deljenja n sa 1000, os = n % 1000 = 349
        d = os % 100 / 10;         // Izvlači cifru desetica, d = (349 % 100) / 10 = 4
        s = os / 100;              // Izvlači cifru stotica, s = 349 / 100 = 3
        b = n - os;                // Broj se transformiše, b = 2349 - 349 = 2000
        b = b + j * 100 + d * 10 + s; // Zamena stotica i jedinice, b = 2000 + 9 * 100 + 4 * 10 + 3 = 2943

// Štampanje rezultata
        System.out.println(b);     // Prikaz rezultata
    }
}

Objašnjenje:
  1. Učitavamo prirodan broj n.
  2. Izračunavamo cifru jedinica i poslednje tri cifre broja.
  3. Iz poslednjih tri cifre izdvaja cifru stotica i desetica.
  4. Formiramo novi broj zamjenom cifre stotica i jedinica.
  5. Ispisujemo rezultat na ekran.

Povratak: Podaci i tipovi podataka-dodatni primeri