Массив поиск максимального и минимального элемента

Ввести одномерный массив X(N) (N<60). Найти максимальный и минимальный элемент, элементы между ними заменить значениями разности.Массив вывести до и после преобразования.
#сам код программы

#include<iostream>
using namespace std;
int main()
{
int razniza;
int n;
cout « "Введите количество элементов в массиве: ";
cin » n;
setlocale(LC_ALL, "Russian");
int X[60];
for (int i = 0; i < n; i++) {
cout « "\nX[" « i « "]=";
cin » X[i];
}
 
cout « endl;
int max = X[0]; int min = X[0];
for (int i = 0; i < n; i++)
{
if (max < X[i]) {
max = X[i];
}
}
 
for (int i = 0; i < n; i++)
{
if (min > X[i]) {
min = X[i];
}
}
//cout « "Минимальный элемент в массиве:" « min«endl;
 
 
//cout « "Максимальный элемент в массиве:" « max«endl;
razniza=max-min;
//cout«"разница между максимальным и минимальным элементом в массиве:"«razniza«endl;
 
for (int i=0; i<n; i++) { //Модификация массива
if ((X[i]<max)&&(X[i]>min)) {
X[i] = razniza;
}
}
cout « "\nИзмененный массив a: "; //Вывод измененного массива
for (int i = 0; i < n; i++) {
cout « " " « X[i];
}
}

вопрос состоит в следующем:почему вместо вывода массива с элементами: 55 50 5 21 11 он выводит вот это:
55 50 5 50 50

Почему вы не форматируете нормально код? Невозможно же читать такое. (отступы строк в первую очередь)
Обычно современные IDE/редакторы кода помогают с этим при вводе кода, и имеют кнопку для переформатирования всего файла, ну или хотя бы засунуть в какой-нибудь онлайн-форматер.

#include <iostream>
using namespace std;
int main()
{
    int razniza;
    int n;
    cout << "Введите количество элементов в массиве: ";
    cin >> n;
    setlocale(LC_ALL, "Russian");
    int X[60];
    for (int i = 0; i < n; i++) {
        cout << "\nX[" << i << "]=";
        cin >> X[i];
    }

    cout << endl;
    int max = X[0];
    int min = X[0];
    for (int i = 0; i < n; i++) {
        if (max < X[i]) {
            max = X[i];
        }
    }

    for (int i = 0; i < n; i++) {
        if (min > X[i]) {
            min = X[i];
        }
    }
    //cout << "Минимальный элемент в массиве:" << min<<endl;

    //cout << "Максимальный элемент в массиве:" << max<<endl;
    razniza = max - min;
    //cout<<"разница между максимальным и минимальным элементом в массиве:"<<razniza<<endl;

    for (int i = 0; i < n; i++) { //Модификация массива
        if ((X[i] < max) && (X[i] > min)) {
            X[i] = razniza;
        }
    }
    cout << "\nИзмененный массив a: "; //Вывод измененного массива
    for (int i = 0; i < n; i++) {
        cout << " " << X[i];
    }
}

Тут наверно речь о их позициях, а вы сами значения проверяете