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
Răspunsuri la întrebare
Răspuns de
1
#include <bits/stdc++.h>
using namespace std;
int n, i;
bool ok;
struct el
{
int x;
int poz;
} v[105], aux;
int main()
{
cin >> n;
for(i = 1; i <= n; i ++)
{
cin >> v[i].x;
v[i].poz = i;
}
do
{
ok = true;
for(i = 1; i < n; i ++)
if(v[i].x > v[i + 1].x)
{
aux = v[i];
v[i] = v[i + 1];
v[i + 1] = aux;
ok = false;
}
} while(!ok);
for(i = 1; i <= n; i ++)
cout << v[i].x << " " << v[i].poz << " ";
return 0;
}
using namespace std;
int n, i;
bool ok;
struct el
{
int x;
int poz;
} v[105], aux;
int main()
{
cin >> n;
for(i = 1; i <= n; i ++)
{
cin >> v[i].x;
v[i].poz = i;
}
do
{
ok = true;
for(i = 1; i < n; i ++)
if(v[i].x > v[i + 1].x)
{
aux = v[i];
v[i] = v[i + 1];
v[i + 1] = aux;
ok = false;
}
} while(!ok);
for(i = 1; i <= n; i ++)
cout << v[i].x << " " << v[i].poz << " ";
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Chimie,
9 ani în urmă