ToniDev

Inserare valoare absoluta intre doua cifre

Oct 2nd, 2023
859
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 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.     int putere = 1; // variabila pentru a urmari pozitia curenta in noul numar
  10.  
  11.     int cifraPrecedenta = n % 10; // 5
  12.     n /= 10; // 725
  13.  
  14.     while (n > 0) {
  15.         int cifraCurenta = n % 10; // 5
  16.         int diferenta = abs(cifraCurenta - cifraPrecedenta); // 0
  17.  
  18.         // construim noul numar adaugand cifra curenta, diferenta, si cifra precedenta
  19.         numarNou += cifraPrecedenta * putere;
  20.         putere *= 10;
  21.         numarNou += diferenta * putere;
  22.         putere *= 10;
  23.  
  24.         cifraPrecedenta = cifraCurenta;
  25.         n /= 10;
  26.     }
  27.     numarNou += cifraPrecedenta * putere; // adaugam ultima cifra
  28.  
  29.     n = numarNou; // actualizam n cu valoarea noului numar
  30. }
  31.  
  32. int main() {
  33.     int n = 7255;
  34.     inserare(n);
  35.     cout << "Numarul obtinut este: " << n << endl;
  36.     return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment