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
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;}
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
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă