imi puteti spune va rog de ce imi da 0 pct pe pbinfo?
e problema nr 914
Se dă un vector cu n elemente numere întregi, n fiind număr par. Să se ordoneze crescător elementele din prima jumătate a vectorului și descrescător elementele din a doua jumătate.
Se vor defini și apela următoarele subprograme:
citire, care citește valoarea lui n și cele n elemente ale tabloului
afisare, care afișează elementele tabloului, separate prin exact un spațiu
sortare, care ordonează elementele vectorului cuprinse între doi indici transmiși ca parametru. Criteriul de ordonare (crescător/descrescător) va fi transmis ca parametru.
Fişierul de intrare halfsort1.in conţine pe prima linie numărul n si pe a doua linie n numere întregi separate prin spaţii.
Fişierul de ieşire halfsort1.out va conţine pe prima linie cele n elemente ale vectorului, ordonate conform cerinței, separate printr-un spațiu.
#include
#include
using namespace std;
ifstream in("halfsort1.in");
ofstream out("halfsort1.out");
void citire(int &n, int v[])
{
in>>n;
for(int i=0;i>v[i];
}
void afisare(int n,int v[])
{
for(int i=0;iv[j])
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
}
for(i=n/2+1;i
Răspunsuri la întrebare
Răspuns de
4
Poftim o solutie de 100 pcte:
#include <fstream>
using namespace std;
ifstream fin("halfsort1.in");
ofstream fout("halfsort1.out");
void citire(int &n, int a[]);
void afisare(int n, int a[]);
void sortare(int n, int m, int a[]);
int main()
{
int n,a[101];
citire(n,a);
sortare(n,n/2,a);
afisare(n,a);
return 0;
}
void citire(int &n, int a[])
{
fin >> n;
for(int i=1;i<=n;i++)
fin >> a[i];
}
void afisare(int n, int a[])
{
for(int i=1;i<=n;i++)
fout << a[i] << " ";
}
void sortare(int n, int m, int a[])
{
for(int i=1;i<m;i++)
for(int j=i+1;j<=m;j++)
if(a[i]>a[j])
swap(a[i],a[j]);
for(int i=m+1;i<n;i++)
for(int j=i+1;j<=n;j++)
if(a[i]<a[j])
swap(a[i],a[j]);
}
#include <fstream>
using namespace std;
ifstream fin("halfsort1.in");
ofstream fout("halfsort1.out");
void citire(int &n, int a[]);
void afisare(int n, int a[]);
void sortare(int n, int m, int a[]);
int main()
{
int n,a[101];
citire(n,a);
sortare(n,n/2,a);
afisare(n,a);
return 0;
}
void citire(int &n, int a[])
{
fin >> n;
for(int i=1;i<=n;i++)
fin >> a[i];
}
void afisare(int n, int a[])
{
for(int i=1;i<=n;i++)
fout << a[i] << " ";
}
void sortare(int n, int m, int a[])
{
for(int i=1;i<m;i++)
for(int j=i+1;j<=m;j++)
if(a[i]>a[j])
swap(a[i],a[j]);
for(int i=m+1;i<n;i++)
for(int j=i+1;j<=n;j++)
if(a[i]<a[j])
swap(a[i],a[j]);
}
Costin1234:
Multumesc!
Alte întrebări interesante
Matematică,
8 ani în urmă
Studii sociale,
8 ani în urmă
Franceza,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Biologie,
9 ani în urmă
Matematică,
9 ani în urmă