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

Se da un numar natural de forma ABC. Afisati cel mai mare numar care se poate forma cu cifrele numarului dat. (sa se rezorve in limbajul C++)

Răspunsuri la întrebare

Răspuns de HariSeldon
0
\* Problema consta in ordonarea cifrelor descrecator 
   Facem urmatoarele: 
   1. Trecem cifrele intr-un vector
   2. Le ordonam descrescator
   3. Formam un nr cu cifrele din vector, acest numar este raspunsul la problema noastra 
*/ 
#include <iostream>
using namespace std;

void fromIntToVect (int n , int x[], int &m)
{
  m = 0;
  while(n!=0)
  {
   x[m+1]  = n%10;
   m++;
   n/=10;
 }
}
int fromVectToInt (int x[], int m)
{ int valoare = 0, i;
  for( i = 1;i<=m;i++)
  {
    valoare = valoare*10 + x[i];
  } 
 return valoare;
}
void ordoneazaDescrescator (int x[], int m)
{
  int i,j,aux;
  for( i = 1;i<=m;i++)
  {    for( j = i+1;j<=m;j++)
     {    if(x[i]<x[j])
           { aux = x[i];
             x[i] = x[j];
             x[j] = aux;
           }
     }
  }
}
int raspuns (int n)
{ int x[10]. m;
  fromIntToVect(n,x,m);
  ordoneazaDescrescator(x,m);
  return fromVectToInt(x,m);
}
int main()
{
  int n;
  cout<<"Dati n ";
  cin>>n;
  cout<<"Cea mai mare valoare care se poate forma cu cifrele lui "<<n<<" este valoarea"<<raspuns(n); 

}
// Ptr intrebari si nelamuriri txt me.


HariSeldon: Raspunsul ii pentru un numar cu oricate cifre si scoate in evidenta o tehnica.
Ptr un numar de 3 cifre poti sa mergi si "mocaneste":

void raspuns( int n)
{ int a = x%10;
HariSeldon: ...
Alte întrebări interesante