Răspuns :
Răspuns:
Explicație:
#include <iostream>
using namespace std;
int n;
struct elev
{
int inaltime, indice;
};
elev v[1005];
void sortare(elev *v, int st, int dr);
int main(){
cin>>n;
for(int i = 1; i <= n ; i++)
cin>>v[i].inaltime, v[i].indice = i;
sortare(v, 1, n);
for(int i = 1; i <= n ; i++)
cout<<v[i].indice<<" ";
return 0;
}
void sortare(elev v[], int st, int dr)
{
if(st < dr)
{
int i = st, j = dr, d = 0;
while( i < j)
{
if(v[i].inaltime > v[j].inaltime)
{
elev aux = v[i];
v[i] = v[j];
v[j] = aux;
if(d == 0)
d = 1;
else
d = 0;
}
if(d == 0)
j--;
else
i++;
}
int k = i;
sortare(v, st, k -1);
sortare (v, k+1, dr);
}
}
Vă mulțumim că ați vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.