Informatică, întrebare adresată de GeorgeIordache, 8 ani în urmă

Se considera un fisier text care contine pe prima linie , n (1<=n<=100)
iar pe a doua linie n valori naturale cu cel mult 9 cifre. Se cere
sa se afiseze pe ecran numarul cel mai mare format cu prima cifra a fiecarei
componente din cele n valori.De ex. daca fisierul pr5_111.in are continutul :
4
2341 789 1998 2000Se va afisa pe ecran :
7221

C++ va rog


MariusCelTrifan: b[10]={0} este vectorul de frecventa in care tinem primele cifre ale numerelor
GeorgeIordache: a am inteles dar se mai poate si altcumva sa scriu vectorul de frecventa >
GeorgeIordache: ?*
MariusCelTrifan: Da, dar asa este cel mai simplu
MariusCelTrifan: poti sa mai faci asa:
MariusCelTrifan: for(i=1;i<=10;i++)
MariusCelTrifan: b[i]=0;
GeorgeIordache: a ok merci mult
MariusCelTrifan: cu placere!

Răspunsuri la întrebare

Răspuns de MariusCelTrifan
0

Răspuns:

#include <iostream>

using namespace std;

int main()

 {

unsigned int n,i,x,S=0;

cin>>n;

int a[n],b[10]={0};

for(i=0;i<n;i++)

   cin>>a[i];

for(i=0;i<n;i++)

{

while(a[i]>0)

   {

       x=a[i]%10;

       a[i]=a[i]/10;

   }

   b[x]=b[x]+1;

}

for(i=9;i>0;i--)

while(b[i]!=0)

{

   S=S*10+i;

   b[i]--;

}

cout<<S;

return 0;

 }

Explicație:

Pui si tu algoritmul in fisier, nu mai am ajuns inca la fisier.


GeorgeIordache: b[10]={0} cu ce te ajuta asta ?
Alte întrebări interesante