Informatică, întrebare adresată de infomatrix, 8 ani în urmă

PBINFO PROBLEMA #1156 VA ROG MULT COD C++

Cerința
Se dau înălțimile a n copii, numerotați de la 1 la n, exprimate prin numere naturale. Afișați numerele de ordine ale copiilor în ordinea crescătoare a înălțimii lor.

Pentru sortare se va folosit metoda QuickSort sau MergeSort.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații, reprezentând, în ordine, înălțimile copiilor.

Date de ieșire
Programul va afișa pe ecran n numere naturale distincte cuprinse între 1 și n, separate prin exact un spațiu, reprezentând numerele de ordine ale copiilor în ordinea crescătoare a înălțimii.

Restricții și precizări
1 ≤ n ≤ 1000
înălțimile copiilor vor fi numere naturale distincte din intervalul [1 , 10000]



Exemplu
Intrare

7
8 20 16 14 10 4 12
Ieșire

6 1 5 7 4 3 2

Răspunsuri la întrebare

Răspuns de me2018
0

#include <iostream>

#include <algorithm>

using namespace std;

int main()

{   int n,h[30],ordine[30],i,j;

   cin>>n;

   for(i=1;i<=n;i++)

           {cin>>h[i];ordine[i]=i;}

   for(i=1;i<n;i++)

           for(j=i+1;j<=n;j++)

               if(h[i]>h[j])

                   {

                       swap(h[i],h[j]);swap(ordine[i],ordine[j]);

                   }

   for(i=1;i<=n;i++)

   cout << ordine[i] << " ";

   return 0;

}


Alte întrebări interesante