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

Se citeşte de la tastatură un număr natural n, 0Scrieti un program care să determine, dacă există, un număr natural care este strict mai mare decât n şi care are exact aceleaşi cifre ca şi n.

Programul va afişa pe ecran mesajul EXISTA, urmat de numărul determinat, dacă un astfel de număr

există; în caz contrar va afişa pe ecran mesajul NU EXISTA


Exemple

Pentru n=16, se va afişa EXISTA 61

Pentru n=50 se va afişa NU EXISTA

Răspunsuri la întrebare

Răspuns de imihay14
0

Răspuns:

#include <iostream>

#include <algorithm>

using namespace std;

int main()

{

   int n,i,r,a[100],b[100],j;

   cin>>n;

   i=0;

   while(n!=0)

   {

       r=n%10;

       i++;

       a[i]=r;

       b[i]=r;

       n=n/10;

   }

   sort(a+1,a+i+1);

   int f=0;

   for(j=1;j<=i && f==0;j++)

       if(a[j]!=b[j])

           f=1;

   if(f==0)

       cout<<"NU EXISTA";

   else

   {

       for(j=i;j!=0;j--)

           n=n*10+a[j];

       cout<<"EXISTA"<<" "<<n;

   }

   return 0;

}

Explicație:

Daca nu ati facut functia sort() pot sa il refac si fara

sper ca te-am ajutat!

Alte întrebări interesante