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.0001 ≤ k ≤ 25.000kî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!