1952. Контроперация

 

Хакер Василий получил доступ к классному журналу и хочет заменить все свои минимальные оценки на максимальные. Напишите программу, которая заменяет оценки Василия, но наоборот. :)

 

Вход. В единственной строке задано количество оценок Василия (не больше 100), а затем сами оценки.

 

Выход. Вывести исправленные оценки в том же порядке.

 

Пример входа 1

Пример выхода 1

5 1 3 3 3 4

1 3 3 3 1

 

 

Пример входа 2

Пример выхода 2

8 5 4 2 2 4 2 2 5

2 4 2 2 4 2 2 2

 

 

РЕШЕНИЕ

массивы

 

Анализ алгоритма

Найдем минимальный и максимальный элементы массива. Заменим все наибольшие элементы на наименьшие.

 

Реализация алгоритма

Объявим рабочий массив.

 

int m[100];

 

Читаем входные данные. Находим минимальный min и максимальный max элементы массива. Инициализируем минимум значением 109, максимум значением -109.

 

scanf("%d", &n);

min = 1000000000;

max = -1000000000;

 

for (i = 0; i < n; i++)

{

  scanf("%d", &m[i]);

  if (m[i] > max) max = m[i];

  if (m[i] < min) min = m[i];

}

 

Перебираем элементы массива. Каждый наибольший элемент заменяем на наименьший.

 

for (i = 0; i < n; i++)

  if (m[i] == max) m[i] = min;

 

Выводим ответ.

 

for (i = 0; i < n; i++)

  printf("%d ", m[i]);

printf("\n");