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

Se citeşte un număr natural n de 4 cifre. Să se formeze cel mai mic număr posibil nr folosind doar cifrele impare din numărul dat n. Dacă nu există nicio cifră impară în n să se afişeze un mesaj corespunzător.

Ex: n=5813 => nr=135; n=8246 => nu există cifre impare.

Sa fie in C sau măcar in C++ și ordinea nr trebuie sa fie aceeași ca in exemplu.

Răspunsuri la întrebare

Răspuns de davidalexandru9
0

Răspuns:

#include <iostream>

using namespace std;

int a[11], n, exista, k, j, i, aux;

int main()

{

   cin>>n;

   exista=0;

   k=1;

   while(n)

   {

       if((n%10)%2==1)

       {

           a[k]=n%10;

           exista=1;

           k++;

       }

       n/=10;

   }

   if(exista==1)

       for(i=1;i<k-1;i++)

   {

       for(j=1+i;j<k;j++)

       {

           if(a[i]>a[j])

           {

               aux=a[i];

               a[i]=a[j];

               a[j]=aux;

           }

       }

   }

   if(exista==0) cout<<"Nu exista cifre impare!";

   else for(i=1;i<k;i++)

           cout<<a[i];

   return 0;

}

Alte întrebări interesante