Задача 8. Дан одномерный массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами.
#include <iostream>
#include<stdlib.h>
using std::cout;
using std::endl;
/*
Дан одномерный массив размера 10.
Переставить в обратном порядке элементы массива,
расположенные между его минимальным и максимальным элементами.
*/
int main(){
int SIZE=10;
int *parr= new int [SIZE];
int i,minind=0,maxind=0,j;
int min, max;
for(i=0;i<SIZE;i++)parr[i]=rand()%100+1;//заполнили
for(i=0;i<SIZE;i++)cout<<parr[i]<<" ";//вывели массив
min=parr[0];
for (i=1;i<SIZE;i++){//находим минимальный
if(min>parr[i]){
min=parr[i];
minind=i;
}
}
cout<<"\n"<<"min: "<<min<<" minind: "<<minind<<"\n";
max=parr[0];
for (i=1;i<SIZE;i++){//находим максимальный
if(max<parr[i]){
max=parr[i];
maxind=i;
}
}
cout<<"\n"<<"max: "<<max<<" maxind: "<<maxind<<"\n";
int *parrnew= new int [SIZE];
for(i=0;i<minind;i++){//заносим до минмального
parrnew[i]=parr[i];
}
for(i=maxind;i<SIZE;i++){//заносим заносим после максимального
parrnew[i]=parr[i];
}
//for(i=maxind;i>minind;i--){//заносим в обратном порядке
for(i=maxind,j=minind;i>minind-1;i--,j++){
cout<<parr[i]<<"\n";
parrnew[j]=parr[i];
}
cout<<"\n";
for(i=0;i<SIZE;i++)cout<<parrnew[i]<<" ";//вывели новый масив
delete [] parrnew;
delete [] parr;
cout<<"\n";
return 0;
}