При помощи указателей найти и поменять местами элементы массива - 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;
}

Объяснение кода листинга программы

  1. Входные данные: int* a - указатель на начало массива; unsigned n - количество элементов в массиве.
  2. Создаются две переменные: min - указатель на минимальный элемент массива; max - указатель на максимальный элемент массива.
  3. Переменная i инициализируется значением 1.
  4. Цикл for выполняется до тех пор, пока i меньше n: (a + i) сравнивается с min. Если меньше, то min обновляется значением a + i. (a + i) сравнивается с max. Если больше, то max обновляется значением a + i.
  5. После завершения цикла: min увеличивается на max; max обновляется значением min - max; min уменьшается на *max.
  6. Возвращаемых значений нет.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы