Informatică, întrebare adresată de Costin1234, 9 ani în urmă

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 stassahul
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]);
}

Costin1234: Multumesc!
Alte întrebări interesante