Задача 8

Задача 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;
}
PQ VPS сервера в 28+ странах.