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

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 enachecristianalexan
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