Другие языки программирования и технологии

Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максима

// Аня_Бобякина_2011-11-27-5
#include <iostream>
#include <ctime>
using namespace std;
#define N 26
#define A 10
#define B 90

void main()
{
unsigned int a[N];

do
{
srand((unsigned) time(NULL));

for (int n = 0; n < N; n++)
{
a[n] = A + rand() % B;
cout << ' ' << a[n];
}

int max = 0, min = A + B, minIndex = 0, maxIndex = 0;

for (int n = 0; n < N; n++)
{
if (a[n] < min)
{
min = a[n];
minIndex = n;
}
if (a[n] > max)
{
max = a[n];
maxIndex = n;
}
}

cout << "\n---------------\n";
cout << " Minimum: " << " a[" << minIndex << "] = " << a[minIndex] << endl;
cout << " Maximum: " << " a[" << maxIndex << "] = " << a[maxIndex] << endl;
cout << "---------------";

int temp;

if (minIndex < maxIndex)
{
maxIndex--;

for (++minIndex; minIndex < maxIndex; minIndex++, maxIndex--)
{
temp = a[minIndex];
a[minIndex] = a[maxIndex];
a[maxIndex] = temp;
}
}
else
{
minIndex--;

for (++maxIndex; maxIndex < minIndex; maxIndex++, minIndex--)
{
temp = a[maxIndex];
a[maxIndex] = a[minIndex];
a[minIndex] = temp;
}
}
cout << endl;
for (int n = -1; n < N - 1; n++, cout << ' ' << a[n]);

fflush(stdin);
cin.get();
}
while (true);
}
Anton Tarkhaneev
Anton Tarkhaneev
54 886
Лучший ответ
перествил
Артем Ворончук
Артем Ворончук
22 045

Похожие вопросы