При помощи указателей найти и поменять местами элементы массива - C (СИ)
Формулировка задачи:
Использование указателей на массивы, работа со строками.
Вариант № 11
1.В массиве М(45) лежат целые числа. При помощи указателей найти максимальный элемент и минимальный элемент и поменять их местами.
2.
Решение задачи: «При помощи указателей найти и поменять местами элементы массива»
textual
Листинг программы
void SwapMaxMin(int* a, unsigned n) { int* min = a; int* max = a; unsigned i; for (i = 1; i < n; i++) *(a + i) < *min && (min = a + i) || *(a + i) > *max && (max = a + i); *min += *max; *max = *min - *max; *min -= *max; }
Объяснение кода листинга программы
- Входные данные: int* a - указатель на начало массива; unsigned n - количество элементов в массиве.
- Создаются две переменные: min - указатель на минимальный элемент массива; max - указатель на максимальный элемент массива.
- Переменная i инициализируется значением 1.
- Цикл for выполняется до тех пор, пока i меньше n: (a + i) сравнивается с min. Если меньше, то min обновляется значением a + i. (a + i) сравнивается с max. Если больше, то max обновляется значением a + i.
- После завершения цикла: min увеличивается на max; max обновляется значением min - max; min уменьшается на *max.
- Возвращаемых значений нет.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д