👤

Cerință
Se dă un număr natural N. Pentru a fi demn de afișat, a doua cifră trebuie interschimbată cu penultima.

Date de intrare
Se citește un singur număr natural, N.

Date de ieșire
Se afișează numărul N, după ce este demn de această operație.

Restricții
9 < N < 1.000.000.000
Exemplu
Date de intrare Date de ieșire
123456 153426


Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int N, nou=0, i, cif, nrcif, v[10]={0};

   cin >> N;

   nrcif=0;

   while (N)

   {

       cif=N%10;

       ++nrcif;

       v[nrcif]=cif;

       N=N/10;

   }

   if (nrcif<4) cout << "nu e demn";

   else

   {

       cif=v[2];

       v[2]=v[nrcif-1];

       v[nrcif-1]=cif;

       for (i=nrcif; i>0; i--)

       {

           nou=nou*10+v[i];

       }

       cout << nou;

   }

   return 0;

}

Explicație:

Răspuns:

#include <stdio.h>

#include <stdlib.h>

int main() {

   int numar = 0;

   printf("Insereaza numarul: ");

   scanf("%d", &numar);

   int numarDeCifre = 0;

   int copieNumar = numar;

   while(copieNumar) {

       numarDeCifre++;

       copieNumar =  copieNumar / 10;

   }

   int cifre[numarDeCifre - 1];

   int cifra = 0;

   for(int i = numarDeCifre - 1; numar; i--) {

       cifra = numar % 10;

       cifre[i] = cifra;

       numar = numar / 10;

   }

   int temp;

   int numarModificat = 0;

   temp = cifre[1];

   cifre[1] = cifre[numarDeCifre - 2];

   cifre[numarDeCifre - 2] = temp;

   for(int i = 0; i < numarDeCifre; i++) {

       numarModificat = numarModificat * 10 + cifre[i];

   }

   printf("Numarul modificat este: %d", numarModificat);

   return EXIT_SUCCESS;

}

Explicație:

Salut, inserezi un numar de la consola, extragi cifrele pe rand intr-un vector, inversezi numarul de la indexul 1 cu cel corespunzator penultimei cifre iar in final construiesti numarul inversand procesul folosit pt a-l descompune.