Расположить элементы массива в порядке возрастания и в порядке убывания - C (СИ)

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

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

Здравствуйте! Начинаю изучать Си, нужно написать простенькую программу. Мне рассказали про функцию swap, но я не знаю, как применить ее в языке Си (есть только образец для Си++). Вот мой код, подскажите, пожалуйста, где функцию swap объявить и как:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i = 0, j = 0, m[10];
    printf ("Vvedite elementi massiva cherez ENTER: ");
    for (i = 0; i <= 9; i++)
    scanf ("%d",&m[i]);
    for (i = 9; i >= 1; i--)
    {
        for (j = 0; j <= i; j++)
        {
          if ((m[i]<m[j]) swap(&m[i], &m[j]));
        }
 
    }
    printf ("V poryadke vozrastania: ");
    for (i = 0; i <= 9; i++)
    printf ("%d", m[i]);
    printf ("\n V poryadke ubivania: ");
    for (i = 9; i >= 0; i--)
    printf ("%d", m[i]);
    getch ();
    return 0;
}

Решение задачи: «Расположить элементы массива в порядке возрастания и в порядке убывания»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int i = 0, j = 0, m[10];
void swap(int*m[i],int*m[j])
{
    int t=*m[i];
    *m[i]=*m[j];
    *m[i]=t;
}
int main()
{
printf ("Vvedite elementi massiva cherez ENTER: ");
for (i = 0; i <= 9; i++)
{
  scanf ("%d",&m[i]);
}
for (i = 9; i >= 1; i--)
    {
        for (j = 0; j <= i; j++)
        {
          if ((m[i]<m[j]) swap(&m[i], &m[j]));
        }
 
    }
printf ("V poryadke vozrastania: ");
for (i = 0; i <= 9; i++)
{
   printf ("%d", m[i]);
}
printf ("\n V poryadke ubivania: ");
for (i = 9; i >= 0; i--)
{
     printf ("%d", m[i]);
}
getch ();
return 0;
}

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

В этом коде реализована сортировка массива методом сортировки пузырьком. Вот список действий, которые происходят в коде:

  1. Сначала объявляются переменные:
    • i и j - используются для обозначения индексов элементов массива во время сортировки;
    • m - массив, который нужно отсортировать.
  2. Затем происходит чтение элементов массива с помощью функции scanf().
  3. Далее начинается сортировка. Внешний цикл идет от последнего элемента массива к первому, а внутренний - от текущего элемента к предыдущему. Если текущий элемент больше следующего, они меняются местами с помощью функции swap().
  4. После сортировки происходит вывод отсортированного массива в порядке возрастания и в порядке убывания с помощью функции printf().
  5. В конце программы вызывается функция getch(), которая ожидает нажатия клавиши, и функция return 0;, которая завершает работу программы.

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


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

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

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