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

Cerinţa
Scrieţi definiția completă a subprogramului C++ ordonare care are 4 parametri: a, prin care primeşte un tablou unidimensional cu maximum 1000 de numere naturale mai mici decât 1.000.000.000 și n, numărul efectiv de elemente ale tabloului și doi indici st dr.

Subprogramul ordonează crescător elementele tabloului a cu indici între st și dr, inclusiv aceștia,fără a modifica celelalte elemente ale tabloului.

Restricţii şi precizări
0 < n <= 1000
numele subprogramului cerut este ordonare
parametrii sunt, în această ordine: a, n, st, dr
0≤st≤dr elementele tabloului a sunt indexate de la zero

Exemplu
Dacă n=6, a=(63,273,9,83,93,123), st=1 și dr=3 după apelul subprogramului tabloul a devine (63,9,83,273,93,123).

Important
Soluţia propusă va conţine doar definiţia subprogramului cerut. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

Răspunsuri la întrebare

Răspuns de express
2
void ordonare(int a[], int n, int st, int dr)
{
    int i, j, aux;
    bool ok;
    ok = false;
    while(!ok)
    {
        ok = true;
        for(i = st; i < dr; i ++)
        {
            if(a[i] > a[i + 1])
            {
                ok = false;
                aux = a[i];
                a[i] = a[i + 1];
                a[i + 1] = aux;
            }
        }
    }
    return;
}

Alte întrebări interesante