👤

Cerința
Se dau două numere naturale diferite. Afişaţi cel mai mic număr care poate fi scris folosind toate cifrele celor două numere date.

Date de intrare
Fișierul de intrare numere7.in conține pe prima linie cele două numere.

Date de ieșire
Fișierul de ieșire numere7.out va conține pe prima linie numărul cerut.

Restricții și precizări
cele două numere date vor fi mai mici decât 2 000 000 000

Exemplu
numere7.in

36321 4173
numere7.out

112333467
C++


Răspuns :

#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;

int main()
{
  int aux,z=0,i=1,j,schimbat=0,p=10;
  unsigned long long a,b;
  ifstream fisierin("numere7.in.txt");
  fisierin>>a>>b;
  fisierin.close();
  while(b%p!=b)
    z++, p*=10;
  z++;
  a*=(float)pow(10,z);
  a+=b;
  int v[22];
  while(a)
  {
      v[i]=a%10;
      a/=10;
      i++;
  }
  j=i;
  do{
    schimbat=0;
  for(i=1;i<j;i++)
   if(v[i+1]<v[i])
   {
   aux=v[i+1];
   v[i+1]=v[i];
   v[i]=aux;
   schimbat=1;
   }
  }while(schimbat);
  ofstream fisierout("numere7.out.txt");
   for(i=1;i<j;i++)
    fisierout<<v[i];
    fisierout.close();
    return 0;
}
Implementarea curenta tine cont si de aparitia cifrei 0.
Vezi imaginea ROOT
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!


Ez Askings: Alte intrebari