Scrieţi programul C/C++ care citeşte de la tastatură un număr n (1≤n≤100) și n numere naturale de maxim 9 cifre. Programul determină pentru fiecare număr impar cel mai mare număr care se poate forma din cifrele lui. Numerele se vor afișa pe o linie, cu spațiu între ele. Dacă nu există astfel de numere se va afișa mesajul „Nu exista”.
Exemplu: pentru n=6 și numerele 371 38 453 52 589 66 se va afișa 731 543 985
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
using namespace std;
int main()
{
unsigned int n,i,X,j,S,nr=0;
cout<<"n=";
cin>>n;
int a[n],b[10]={0};
for(i=0;i<n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
}
for(i=0;i<n;i++)
if(a[i]%2!=0)
{
nr++;
while(a[i]>0)
{
X=a[i]%10;
b[X]++;
a[i]=a[i]/10;
}
S=0;
for(j=9;j>0;j--)
if(b[j]!=0)
while(b[j]>0)
{
S=S*10+j;
b[j]--;
}
cout<<S<<" ";
}
if(nr==0)
cout<<"nu exista";
return 0;
}
Explicație:
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Informatică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Geografie,
9 ani în urmă