23.1.23020160. Generisati četverocifreni cijeli broj. Ispremještati mu cifre tako da se dobije najveći mogući broj sastavljen od te četiri cifre. Npr. 8064 ==> 8640.

Opis rješenja:

Listing programa:

//23020160
#include<iostream>
#include<cstdlib>
#include<ctime>

using namespace std;

int main(){
	srand(time(NULL));
	
	int a=rand()%8999+1000;
	int x,y,z,pom=0,total=0,p;
	
	p = a % 10;
	z = (a % 100) / 10;
	y = (a % 1000) / 100;
	x = a / 1000;
	
	cout<<a<<endl;
	
	if( x <= y){
		pom = x;
		x = y;
		y = pom;
	}
	if(x <= z){
		pom = x;
		x = z;
		z = pom;
	}
    if (x <= p) {
        pom = x;
        x = p;
        p = pom;
    }
    if (y <= z) {
        pom = y;
        y = z;
        z = pom;
    }
    if (y <= p) {
        pom = y;
        y = p;
        p = pom;
    }
    if (z <= p) {
        pom = z;
        z = p;
        p = pom;
	}	        
	total=1000*x+100*y+10*z+p;
	cout<<"Najveci broj od ponudjenih je: "<<total<<endl;
	return 0;
}

Ispis na ekranu:

Riješeni zadaci    Index