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

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ăspunsuri la întrebare

Răspuns de CinevaFaraNume
1

#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++;

}

}

}


soimul72: multumesc . Ai putea sa imi dai si niste explicații dacă nu e prea mare deranj
soimul72: ??
CinevaFaraNume: Pentru cea cu vectori sau cea simpla?
soimul72: cea cu vectori
CinevaFaraNume: Pai vectorul frecv este vectorul de frecventa si valorile din el ne spun de cate ori apare o cifra in numar.
CinevaFaraNume: Dupa ce stim de cate ori apare fiecare cifra, putem cauta cifrele cele mai mici care apar
CinevaFaraNume: Si trebuie sa fie 3 distincte din cerinta
CinevaFaraNume: Variabila l reprezinta cate cifre au fost gasite pana acum
soimul72: multumesc. pot sa apelez la tine cand mai am nevoie la informatica?
CinevaFaraNume: Da
Răspuns de boiustef
1

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;

}

Alte întrebări interesante