👤
Arcq123
a fost răspuns

creati un program care sorteaza elementele situate intre elementul minim si maxim dintre vectorii de numere intregi. daca minimul si maximul se afla pe pozitii consecutive, sa ca afisa mesajul "nu se efectueaza sortarea". pentru n=7 si v=14 13 21 1 120 1000 21 se va afisa 14 -13 1 21 120 1000 21

Răspuns :

#include <iostream>

using namespace std;

int main()

{

int A[25], n, i, j, aux, max, min, pmin, pmax, p1, p2;

cout<<"n="; cin>>n;

for(i=1;i<=n;i++)

{

 cout<<"A["<<i<<"]="; cin>>A[i];

}

max=A[1]; min=A[1]; pmin=1; pmax=1;

for(i=2;i<=n;i++)

 if(A[i]<min){

  min=A[i]; pmin=i;

 }

for(i=2;i<=n;i++)

 if(A[i]>max){

  max=A[i]; pmax=i;

 }

p1=pmax; p2=pmin;

if(p1>p2){

 aux=p1; p1=p2; p2=aux;

}

if(p2-p1==1) cout<<"Nu se efectueaza sortarea";

else{

 for(i=p1+1;i<p2-1;i++)

  for(j=i+1;j<p2;j++)

   if(A[i]>A[j]){

    aux=A[i]; A[i]=A[j]; A[j]=aux;

   }

 for(i=1;i<=n;i++)

  cout<<A[i]<<' ';

}

return 0;

}