👤

se citeste un numar cu multe cifre diferite de zero. Sa se afiseze cel mai mic numar cu cifre distincte care se poate forma cu cifrele numarului initial .Informatica clasa9​

Răspuns :

#include <iostream>

using namespace std;

int main()

{

int n;

int min1=10,min2=10,min3=10;

cin >> n;

while(n%10){

int c = n%10;

if(c<min1){

min3 = min2;

min2 = min1;

min1=c;

}else if(c != min1 && c<min2){

min3 = min2;

min2 = c;

}else if (c != min1 && c!= min2 && c< min3)

min3=c;

n/=10;

}

cout << min1<<min2<<min3;

}

Cu vectori:

#include <iostream>

using namespace std;

int frecv[10];

int main()

{

int n;

cin >> n;

while(n%10){

frecv[n%10]++;

n/=10;

}

int l = 0;

for(int i = 1; i < 10&&l<3;i++){

if(frecv[i])

{

cout << i;

l++;

}

}

}

Răspuns:

o variantă ce nu foloseste vectori ...  cred simplă :))) pt un elev de clasa a 9-a. Am semnaliyat în variabile corespunzătoare dacă se întîlneşte cifra respectivă şi dacă da, se va afişa

Explicație:

#include <iostream>

using namespace std;

int main()

{

   long long num, cif, u,d,t,p,c,s,st,o,n;

   cout << "numar="; cin >> num;

   while (num)

   {

       cif=num%10;

       if (cif==1) u=1;

       if (cif==2) d=1;

       if (cif==3) t=1;

       if (cif==4) p=1;

       if (cif==5) c=1;

       if (cif==6) s=1;

       if (cif==7) st=1;

       if (cif==9) o=1;

       if (cif==9) n=1;

       num=num/10;

   }

   cout << "numar minim cu cifre distincte: ";

   if (u==1) cout << 1;

   if (d==1) cout << 2;

   if (t==1) cout << 3;

   if (p==1) cout << 4;

   if (c==1) cout << 5;

   if (s==1) cout << 6;

   if (st==1) cout << 7;

   if (o==1) cout << 8;

   if (n==1) cout << 9;

}

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


ID Learners: Alte intrebari