Сформировать массив Z из элементов массива Х и Y, упорядочивая их по возрастанию - C (СИ)

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

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

Массив Х[N] – упорядочен по возрастанию, массив Y[N]- упорядочен по убыванию. Сформировать массив Z из элементов массива Х и Y, упорядочивая их по возрастанию.

Решение задачи: «Сформировать массив Z из элементов массива Х и Y, упорядочивая их по возрастанию»

textual
Листинг программы
#include <stdio.h> 
 
#define N 5
 
void SelectSort (int a[])
{
    int i=0,j=0,min=0;
            
    for (i=0;i<N*2;i++)
     {
        min=i;
        
        for (j=i+1;j<N*2;j++)
         {
            if (a[min]>a[j]) min=j;
         }
        
        if (min!=i){
            a[i]+=a[min];
            a[min]=a[i]-a[min];
            a[i]-=a[min];
          }
      }
}
 
 
int main(void) 
{  
  int i,k; 
  int x[N]={1,13,20,50,66},y[N]={34,22,21,15,1},z[2*N]={0};
  
  for (i=0,k=0;k<N*2;k++,i++){                // копируем все элементы в z
         if (k<=4) z[k]=x[i];     
             else z[k]=y[i-5];               
       }
       
  SelectSort(z);         //сортируем получившийся массив z выбором
     
  for (i=0;i<2*N;i++) printf("%d ",z[i]);    // печатаем отсортированный массив z
 
 return 0; 
}

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

  1. Включаем стандартную библиотеку в код.
  2. Определяем размер массива N = 5.
  3. Создаем функцию SelectSort для сортировки массива a.
  4. Внутри функции инициализируем переменные i, j, min = 0.
  5. В цикле for с условием i < N*2 проходим по элементам массива a.
  6. Для каждого элемента находим минимальный элемент в оставшейся части массива и запоминаем его индекс в переменную min.
  7. Если элемент по индексу min больше текущего элемента, меняем значения текущего элемента и элемента по индексу min.
  8. Если индекс min не равен текущему индексу, производим операцию сложения-вычитания для элементов a[i] и a[min].
  9. В основной функции main создаем массивы x и y, заполняем их значениями.
  10. Создаем массив z, инициализируем его нулями.
  11. В цикле for копируем элементы x и y в массив z.
  12. Вызываем функцию SelectSort для сортировки массива z.
  13. Выводим отсортированный массив z на экран.
  14. Возвращаем 0, чтобы завершить работу программы.

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


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

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

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