Informatică, întrebare adresată de adrii19, 8 ani în urmă

Scrieți un program care citește de la tastatură un număr natural n și apoi n numere naturale nenule formate din cel mult 4 cifre. Programul afișează pe ecran, pentru fiecare număr care are cifrele ordonate strict crescător, valoarea inițială și un nou număr format prin duplicarea fiecărei cifre pare. Exemplu: dacă pentru n se citește valoarea 10 și apoi se citesc numerele 1234, 57, 9, 2456, 2134, 8765, 478, 5567, 8776, 321 se vor afișa pe ecran valorile 1234 122344 2456 2244566 478 44788

Răspunsuri la întrebare

Răspuns de Levi20
1

Răspuns:

#include <iostream>

using namespace std;

bool cresc(int a)

{

   while(a/10)

   {

       if(a%10<=a/10%10)

       return false;

       a/=10;

   }

   return true;

}

int multiplu(int a)

{

   int p=0,z=1;

   while(a)

   {

       p=p+a%10*z;

       if(a%2==0)

       {

       z*=10;

       p=p+a%10*z;

       }

       z*=10;

       a/=10;

   }

   return p;

}

int main()

{

   int n,x;

   cin>>n;

   for(int i=0;i<n;i++)

       {

       cin>>x;

       if(cresc(x)==true && multiplu(x)!=x)

       cout<<x<<" "<<multiplu(x)<<" ";

       }

   return 0;

}

Alte întrebări interesante