Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами.
Вот что получилось, но выдаёт совершенно другие элементы, чем я ввожу....
#include <STDIO.H>
#define NUM 10
void main()
{
int a[NUM],i;
printf ("Vvedite 10 chelih 4isel :\n" );
for (i = 0; i < NUM; i++)
{
printf ("%d element massiva --> ", i);
scanf ("%d", &a[i]);
}
int min = a[0], max = a[0], i_min = 0, i_max = 0;
for (i=0; i<NUM; i++)
{
if (a[i] < min)
{
min = a[i];
i_min = i;
}
}
for (i=0; i<NUM; i++)
{
if (a[i] > max)
{
max = a[i];
i_max = i;
}
}
int b;
if (i_min < i_max)
{
for ( i = i_min; i <= i_max; i++)
{
b = a[i];
a[i] = a[i_max+1-i];
a[i_max+1-i] = b;
}
}
else {
b = a[i_min];
a[i_min] = a[i_max];
a[i_max] = b;
for ( i = i_min; i <= i_max; i++)
{
b=a[i];
a[i]=a[i_max+1-i];
a[i_max+1-i] = b;
}
}
for (i=0; i<NUM; i++)
printf (" %d", a[i]);
}
????
Сообщение отредактировано: 18192123 -