Să se scrie un algoritm care citeşte un număr natural n şi afişează mesajul „da” dacă toate cifrele lui n sunt distincte, sau „nu” dacă n nu are toate cifrele distincte. De exemplu, pentru n=37645 se va afişa „da”, iar pentru 23414 se va afişa „nu”.

Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n;

   cin>>n;

   int copie = n, v[100], gasit=0, ok = 0;

   

   while(copie!=0)

   {

       v[ok] = copie % 10;

       ok++;

       copie /= 10;

   }

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

   {

       for(int j=i+1;j<ok-1;j++)

           if(v[i] == v[j] && i != j)

               {

                   gasit=1; // am gasit un numar care se repeta

                   break;  /*parasim parcurgerea de la elementul i+1 pana la final daca am gasit cel putin un element care se repeta*/

               }

       if( gasit == 1 )  /* daca am gasit cel putin un nr repetat nu are rost sa mai parcurgem vectorul */

           break;

   }

   

   if( gasit == 0 )

       cout<<"Da";

   else

       cout<<"Nu";

}