👤

Buna!
Ma poate ajuta cineva la problema #244 CifreOrd de pe pbinfo??

Cerinţa
Se dau n cifre zecimale. Să se afişeze aceste cifre în ordine crescătoare.

Date de intrare
Fişierul de intrare cifreord.in conţine pe prima linie numărul n, iar pe următoarele linii n cifre zecimale separate prin spaţii.

Date de ieşire
Fişierul de ieşire cifreord.out va conţine cele n cifre ordonate crescător, câte 20 pe o linie, valorile de pe fiecare linie fiind separate prin spaţii. Ultima linie a fişierului poate conţine mai puţin de 20 de valori.

Restricţii şi precizări
1 ≤ n ≤ 100.000

Exemplu
cifreord.in

25
1 1 2 7 3 5 1 5
3 6 7 8 0 1 0 5
6 3 8 2
9 7 9 5 7
cifreord.out

0 0 1 1 1 1 2 2 3 3 3 5 5 5 5 6 6 7 7 7
7 8 8 9 9

Aici e solutia mea, functioneaza bine, dar primeste 0 pct pe site :(

#include
#include
using namespace std;
ifstream in("cifreord.in");
ofstream out("cifreord.out");
int n,i,j,ctr=0,v[100001];
int main()
{
in >>n;
for (i=1; i<=n;i++)
in >>v[i];
for (i=1; i for (j=i+1; j<=n;j++)
if (v[i]>v[j])
swap (v[i],v[j]);
for (i=1; i<=n;i++)
{ if (ctr<=20)
{
out < ctr++;
}
else
{
ctr=0;
out < }
}
return 0;
}


Răspuns :

Răspuns:

#include <iomanip>

#include <fstream>

#include <iostream>

#include <cassert>

using namespace std;

ifstream fin("cifreord.in");

ofstream fout("cifreord.out");

int a[10];

int main(){

int x,n;

fin >> n;

for( ; n ; n--){

 fin >> x;

 a[x] ++;

}

x = 0;

for(int i=0;i<10;++i)

 for(int j = 1; j<= a[i] ; ++j){

  fout << i << " ";

  x ++;

  if(x%20 == 0)

   fout << endl;

 }

return 0;

}

Explicație:

Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.


Wix Learning: Alte intrebari