se dau doua numere naturale diferite. afisati cel mai mic numar care poate fi scris folosind toate cifrele celor doua numere date
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
using namespace std;
void quicksort(int *v,int n){
int pivot,left,right,temp;
if(n<2){
return;
}
pivot=v[n/2];
left=0;
right=n-1;
while(left<=right){
while(v[left]<pivot){
left++;
}
while(v[right]>pivot){
right--;
}
if(left>=right){
break;
}
temp=v[left];
v[left]=v[right];
v[right]=temp;
left++;
right--;
}
quicksort(v,left);
quicksort(v+left,n-left);
}
int main(){
int v[20],a,b,i,nr=0,x=0;
cout<<"Introduceti primul nr:";
cin>>a;
cout<<"Introduceti al doilea nr:";
cin>>b;
while(a>0){
v[nr]=a%10;
nr++;
a=a/10;
}
while(b>0){
v[nr]=b%10;
nr++;
b=b/10;
}
quicksort(v,nr);
for(i=0;i<nr;i++){
x=x*10+v[i];
}
cout<<"Cel mai mic nr este: "<<x;
return 0;
}
using namespace std;
void quicksort(int *v,int n){
int pivot,left,right,temp;
if(n<2){
return;
}
pivot=v[n/2];
left=0;
right=n-1;
while(left<=right){
while(v[left]<pivot){
left++;
}
while(v[right]>pivot){
right--;
}
if(left>=right){
break;
}
temp=v[left];
v[left]=v[right];
v[right]=temp;
left++;
right--;
}
quicksort(v,left);
quicksort(v+left,n-left);
}
int main(){
int v[20],a,b,i,nr=0,x=0;
cout<<"Introduceti primul nr:";
cin>>a;
cout<<"Introduceti al doilea nr:";
cin>>b;
while(a>0){
v[nr]=a%10;
nr++;
a=a/10;
}
while(b>0){
v[nr]=b%10;
nr++;
b=b/10;
}
quicksort(v,nr);
for(i=0;i<nr;i++){
x=x*10+v[i];
}
cout<<"Cel mai mic nr este: "<<x;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Geografie,
9 ani în urmă