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!