ToniDev

Inlocuire cifra impara cu cifra para

Oct 2nd, 2023
753
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip> // 3.2131234 -> 3.21
  3. #include <cmath>  // abs()
  4.  
  5. using namespace std;
  6.  
  7. void inserare(int& n) { // n = 7255
  8.     int numarNou = 0;
  9.  
  10.     while (n > 0) {
  11.         int cifra = n % 10; // 5
  12.         n = n / 10; // 725
  13.  
  14.         if (cifra % 2 != 0) { // numar impar
  15.             numarNou = numarNou * 10 + (cifra - 1);
  16.         }
  17.         else { // numar par
  18.             numarNou = numarNou * 10 + cifra;
  19.         }
  20.     }
  21.  
  22.     // invert numarNou
  23.     int numarInversat = 0;
  24.     while (numarNou > 0) {
  25.         int cifra = numarNou % 10;
  26.         numarNou = numarNou / 10;
  27.         numarInversat = numarInversat * 10 + cifra;
  28.     }
  29.  
  30.     n = numarInversat;
  31. }
  32.  
  33. int main() {
  34.     int n = 7255;
  35.     inserare(n);
  36.     cout << "Numarul obtinut este: " << n << endl;
  37.     return 0;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment