Сортировка массива в функции - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дан массив, int ar[10] = {4,7,2,9,12,32,6,74,1,5} необходимо сделать сортировку массива в функции. В функцию необходимо передавать три параметра - массив, количество элементов и переключатель(0 или 1). Если переключатель установлен в 0 тогда сортировать от большего числа к меньшему, если в 1 тогда от меньшего к большему.

Решение задачи: «Сортировка массива в функции»

textual
Листинг программы
void sort(int* ar,int n,int up)
{
    int i,j,x;
    for(i=n-1; i; i--)
        for(j=0; j<i; j++)
        if(up && ar[j]>ar[j+1] || !up && ar[j]<ar[j+1])
        {
            x=ar[j];
            ar[j]=ar[j+1];
            ar[j+1]=x;
        }
}
void main(int argc,char* argv[])
{
    int i, n=10, ar[] = {4,7,2,9,12,32,6,74,1,5};
    sort(ar,n,0);
    for(i=0; i<n; i++) printf("%d ",ar[i]);
    printf("\n");
    sort(ar,n,1);
    for(i=0; i<n; i++) printf("%d ",ar[i]);
    printf("\n");
    system("pause");
}

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

  1. Объявлены функции: sort, main.
  2. В функции main инициализирован массив ar десятью значениями.
  3. В функции main вызваны две функции: sort и printf.
  4. В функции sort три вложенных цикла, которые выполняют сортировку массива.
  5. В функции main после сортировки выводится отсортированный массив.
  6. В функции main после сортировки массива с помощью функции sort второй раз с параметром up=1.
  7. В функции main выводится отсортированный массив второй раз.
  8. В функции main вызывается функция system, которая приостанавливает выполнение программы до нажатия клавиши.
  9. В функции main нет оператора return, поэтому возвращаемый функцией main результат будет int main().
  10. В функции sort происходит сортировка массива методом пузырька.
  11. В функции sort параметр up при инициализации имеет значение 0.
  12. В функции sort параметр up при инициализации имеет значение 1.
  13. В функции sort переменная i имеет значение n-1 при первом вложенном цикле.
  14. В функции sort переменная j имеет значение 0 при первом вложенном цикле.
  15. В функции sort переменная j имеет значение i-1 при первом вложенном цикле.
  16. В функции sort условие up && ar[j]>ar[j+1] || !up && ar[j]<ar[j+1] сортирует массив по возрастанию.
  17. В функции sort условие up && ar[j]>ar[j+1] || !up && ar[j]<ar[j+1] сортирует массив по убыванию.
  18. В функции sort используется оператор printf для вывода значений переменных.
  19. В функции main используется оператор printf для вывода значений переменных.
  20. В функции main вызывается функция system, которая завершает выполнение программы.

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


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

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

12   голосов , оценка 3.833 из 5