Se consideră un șir a[1], a[2], …, a[n] de numere distincte din mulțimea {1,2,…,n}. O operație constă din extragerea unui număr din șir de la o anumită poziție și inserarea lui în altă poziție a șirului. De exemplu, dacă a = 1, 2, 5, 3, 6, 4, atunci 5 poate fi inserat după 3 și se obține a = 1, 2, 3, 5, 6, 4.
SE CERE:Să se obțină șirul ordonat crescător efectuând un număr minim de operații de inserare.
EXEMPLU:
Intrare
6
1 2 5 3 6 4
Iesire
2
Problema este inserari(2242) de pe pbinfo
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
using namespace std;
int main()
{
int v[100], i, n;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>v[i];
}
int temp, count = 0;
for(i=1;i<=n-1;i++)
{
if(v[i]>v[i+1])
{
temp = v[i];
v[i] = v[i+1];
v[i+1] = temp;
count++;
}
}
cout<<count;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Ed. tehnologică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă