În fişierul numere.txt se află un şir de numere naturale de cel mult 8 cifre fiecare. Să se afişeze
pe ecran numerele în funcţie de numărul cifrelor impare care le conţine fişierul. (Indicație: intr-un
vector suplimentar calculați pentru fiecare element din vectorul inițial numărul de cifre impare pe
care le conține. Aplicați un algoritm de sortare pentru vectorul suplimentar, schimbând in același
timp elementele din cei 2 vectori)
Răspunsuri la întrebare
Răspuns:
{
int n,i,m;
cout<<"n=";
cin>>n;
int a[n],b[n];
for(i=0;i<n;i++)
{
cout<<"a["<<i<<"]=";
cin>>a[i];
b[i]=0;
}
for(i=0;i<n;i++)
{
m=a[i];
while(m!=0)
{
if(m%10%2!=0)
b[i]++;
m=m/10;
}
}
int aux1,aux2,sortat;
do
{
sortat=1;
for(i=0;i<n-1;i++)
if(b[i]>b[i+1])
{
aux1=b[i];
aux2=a[i];
b[i]=b[i+1];
a[i]=a[i+1];
b[i+1]=aux1;
a[i+1]=aux2;
sortat=0;
}
}while(!sortat);
for(i=0;i<n;i++)
cout<<a[i]<<" ";
return 0;
}
Explicație:
Multumesc+5 stele+cel mai inteligent raspuns?
Scuza-ma ca nu e bagat in fisier, dar eu nu am ajuns inca acolo