Informatică, întrebare adresată de Aika, 9 ani în urmă

Se citeste nu numar natural format din 4 cifre. Sa se afiseze cel mai mare numar, respectiv cel mai mic numar care se poate forma din cifrele sale.
Va rog sa ma ajutati sa rezolv aceasta problema. Daca se poate in pseudocod.

Răspunsuri la întrebare

Răspuns de Adrelina
13
citeste x
k=0
cat timp x!=0 executa
c<-x%10
x<-x/10
k<-k+1
a[k]<-c
sfarsit cat timp
pentru i=1,k-1 executa
pentru j=i+1,k executa
daca a[i]<a[j] executa
a[i]<->a[j]
sfarsit daca
sfarsit pentru
sfarsit pentru
pentru i=1,k executa
maxim=maxim*10+a[i]
sfarsit pentru
scrie maxim
pentru i=k,1,-1 executa
minim=minim*10+a[i]
sfarsit pentru
scrie minim
Răspuns de mincos
7
#include<iostream>
#include<math.h>
using namespace std;
int main(){
int n,mic=0,mare=0,c[4],i,cif=1,aux,sortat;

cout<<"n=";cin>>n;
while(n!=0){
c[cif]=n%10;
n=n/10;
cif++;
}
do{

sortat=1;
for(i=1;i<4;i++)
if(c[i]>c[i+1]){
sortat=0;

aux=c[i];
c[i]=c[i+1];
c[i+1]=aux;

}

}while(!sortat);
for(i=1;i<=4;i++){
mic=pow(10,4-i)*c[i]+mic;
}
for(i=1;i<=4;i++){

mare=pow(10,4-i)*c[5-i]+mare;
}
cout<<"mare este:"<<mare<<endl;

cout<<"mic este:"<<mic;
return 0;
}
Alte întrebări interesante