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
Daniel4761:
Si daca intre minim si maxim exista un singur element?
Răspunsuri la întrebare
Răspuns de
2
#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;
}
Alte întrebări interesante
Religie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă