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

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.

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
Va rog in c++ si repede!!!!!!!!!!!!
Problema este de pe pbinfo "Inaltimi"

Răspunsuri la întrebare

Răspuns de alin090402
21
#include <iostream>
using namespace std;
int main(){ int n, a[100],b[100],j,i,min,c,aux;   cin>>n;   for(i=1;i<=n;i++)   {cin>>a[i];    b[i]=a[i];   }for(i=1;i<=n;i++)   {min=a[i];    c=i;     for(j=i;j<=n;j++)     {if(a[j]<min) {min=a[j];c=j;}
     }     aux=a[i];     a[i]=a[c];     a[c]=aux;   }    for(i=1;i<=n;i++)        for(j=1;j<=n;j++)        if(a[i]==b[j]) cout<<"\n"<<j<<" ";
    return 0;} 

VoxBig: mersi
Alte întrebări interesante