Поменять местами максимальный и минимальный элемент массива - C (СИ)
Формулировка задачи:
Помогите поменять местами максимальный и минимальный элемент массива. Кол-во элементов = 10.
Спасибо
Решение задачи: «Поменять местами максимальный и минимальный элемент массива»
textual
Листинг программы
int main(void)
{
int a[10];
int max=a[0], min=a[0], k, i;
for(i=0; i<10; i++)
{
if (a[i] < a[min]) min = i;
if (a[i] > a[max]) max = i;
}
k=a[min];
a[min]=a[max];
a[max]=k;
}
Объяснение кода листинга программы
В этом коде:
- Создается массив a размером 10 и инициализируется случайными значениями.
- Присваиваются значения переменным max и min, которые в начале считаются равными первому элементу массива a.
- Происходит поиск индексов минимального и максимального элемента массива. Для этого перебираются все элементы массива, и если текущий элемент меньше значения переменной min, то обновляется значение переменной min, а если текущий элемент больше значения переменной max, то обновляется значение переменной max.
- Переменной k присваивается значение элемента массива с индексом min.
- Значение элемента массива с индексом min заменяется на значение переменной k.
- Значение элемента массива с индексом max заменяется на значение переменной k. Итоговый результат работы программы: массив a[10] принимает вид: [k, a[1], a[2], ..., a[max], a[min], a[min-1], ..., a[1], a[0]]. Т.е. элементы массива меняются местами: максимальный становится минимальным, а минимальный — максимальным.