fbpx

Problema #1911 – Sort_Indici – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dă un vector cu n elemente, numere naturale. Afișați în ordine crescătoare elementele iar după fiecare element, inserați indicele poziției pe care acesta se afla înainte ca vectorul să fie sortat.

Daca există mai multe elemente cu aceeași valoare, indicii acestora se vor afișa în ordine crescatoare.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire

Programul va afișa pe ecran șirul de numere separate prin spatiu, respectând cerința cerută.

Restricții și precizări

  • 1 ≤ n ≤ 100
  • cele n numere citite vor fi mai mici decât 1.000.000.000
  • numerotarea vectorului începe de la 1

Exemplu

Intrare

7
12 8 9 0 19 2 8

Ieșire

0 4 2 6 8 2 8 7 9 3 12 1 19 5

Explicație

  • Vectorul sortat este 0 2 8 8 9 12 19;
  • Fostele poziții sunt 4 pentru 0 ; 6 pentru 2 etc.
  • Elementul 8 apare de două ori, o dată pe poziția 2 și o dată pe poziția 7. Astfel încât, indicii se afișează crescător : 8 2 8 7

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int a[1000], b[1000];
    for(int i = 0 ; i < n ; ++i)
    {
        cin >> a[i];
        b[i]=a[i];
    }
    sort(b , b+n);
    for(int i = 0 ; i < n ; ++i)
    {
        for(int j = 0 ; j < n ; ++j)
        {
            if(b[i]==a[j])
            {
                cout << b[i] << ' ' << j+1 << ' ';
                a[j]=-1;
            }
        }
    }
    return 0;
}
Comentarii

S-ar putea sa iti placa