Cerința
Se dă un şir v
cu n
elemente numere reale
. Acesta se împarte în n/k
secvenţe de k
elemente. Să se sorteze fiecare secvenţă şi să se afişeze şirul format de acestea, în ordinea în care au fost date.
Date de intrare
Fișierul de intrare r10.in
conține pe prima linie numărul n
, şi numărul k
, iar pe a doua linie n
numere reale
separate prin spații.
Date de ieșire
Fișierul de ieșire r10.out
va conține pe prima linie şirul cerut.
Restricții și precizări
1 ≤ n ≤ 100.000
1 ≤ k ≤ 25.000
k
îl divide pen
- numerele de pe a doua linie a fișierului de intrare, în modul, vor fi mai mici decât
1.000.000.000
Exemplu 1:
r10.in
10 2 10 9 8 7 6 5 4 3 2 1
r10.out
9 10 7 8 5 6 3 4 1 2
Explicație
Şirul a fost împărţit în grupări de câte două, ele fiind sortate şi afişate în ordinea primită.
Exemplu 2:
r10.in
10 10 9.1 6 2 -1.5 6.9 10 11 1000 -101.5123 880.45
r10.out
-101.512 -1.5 2 6 6.9 9.1 10 11 880.45 1000
Explicație
Acest exemplu conţine numere reale
, nu neapărat întregi.
Exemplu 3:
r10.in
10 1 10 9 8 7 6 5 4 3 2 1
r10.out
10 9 8 7 6 5 4 3 2 1
Explicație
Pentru k = 1
, şirul rămâne la fel.
Exemplu 4:
r10.in
9 3 82 85 78 69 84 69 101 82 97
r10.out
78 82 85 69 69 84 82 97 101
Explicație
Un ultim exemplu bonus.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema R10:
///Varianta cu vector alocat dinamic
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("r10.in");
ofstream fout("r10.out");
int n,k;
double *p;
int main()
{
fin>>n>>k;
///Alocarea vectorului
p = new double[k+1];
for(int i=1;i<=n/k;i++){
///Citire
for(int j=1;j<=k;j++){
fin>>p[j];
}
///Sortare
sort(p+1,p+k+1);
///Afisare
for(int j=1;j<=k;j++){
fout<<p[j]<<" ";
}
}
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #3174 R10
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #3174 R10 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!