То, что я пытался написать:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <time.h>
int main()
{
int i, n, m, vector_min, vector_max, min, max, i_min, i_max, temp;
time_t t; // текущее время для инициализации
// генератора случайных чисел
srand((unsigned) time(&t)); // инициализация генератора
// случайных чисел
printf("\nEnter left limit: ");
scanf("%d", &vector_min);
printf("\nEnter right limit: ");
scanf("%d", &vector_max);
printf("\nEnter size of vector: ");
scanf("%d", &n);
int vector[n];
printf("\nFirst vector:\n");
m = vector_max-vector_min + 1;
for (i=0; i<n; i++)
{
// получение случайного числа в диапазоне
// от vector_min до vector_max
vector[i]=rand()% m + vector_min;
printf(" %5d", vector[i]);
}
printf("\n");
max = vector[0];
i_max = 0;
min = vector[0];
i_min = 0;
for (i=0; i<n ; i++) //цикл поиска max и min
{
if (vector[i] > max)
{
max = vector[i];
i_max = i;
}
if (vector[i] < min)
{
min = vector[i];
i_min = i;
}
}
printf("\nmax=%d i_max=%d", max, i_max);
printf("\nmin=%d i_min=%d\n", min, i_min);
int a, b;
a = i_min;
b = i_max;
max = vector[i_min];
min = vector[i_max];
i_max = 0;
i_min = 0;
for (i=0; i<n ; i++) //второй цикл поиска max и min
{
if ((i == a) || (i == b))
continue;
if (vector[i] > max)
{
max = vector[i];
i_max = i;
}
if (vector[i] < min)
{
min = vector[i];
i_min = i;
}
}
printf("\nmax=%d i_max=%d", max, i_max);
printf("\nmin=%d i_min=%d\n", min, i_min);
m=abs(i_min-i_max)-1;
if (m==0 || m==1)
{
printf("Beetween this means 1 or none elements");
}
else
{
if (i_max > i_min)
{
a=++i_min;
b=--i_max;
}
else
{
a=++i_max;
b=--i_min;
}
}
printf("\nResult vector:\n");
for (i=0; i<n; i++)
printf(" %5d", vector[i]);
printf("\n");
}
