В мізерній інструкції до лабораторної я вичитав таке
Упорядкування масиву – це зміна порядку розташування його елементів за певним критерієм. Наприклад, в числовому масиві це може бути упорядкування елементів за зростанням значень або за їх спаданням
Зачить критеріїв є тільки два зростання і спадання, тому я написав програму, яка об'єднює два масиви в третій і упорядкоовує чи сортує за цими критеріями
#include "pch.h"
#include <iostream>
#define N 10
int main()
{
setlocale(LC_CTYPE, "ukr");
int n, m, i, j;
float m1[N], m2[N], m3[N], t;
printf("enter size m1=");
scanf_s("%i", &n);
printf("enter size m2=");
scanf_s("%i", &m);
for (i = 0;i < n;i++) //заповнюю перший масив
{
printf("m1[%i]=", i);
scanf_s("%f", &m1[i]);
}
for (i = 0;i < m;i++) //заповнюю другий масив
{
printf("m2[%i]=", i);
scanf_s("%f", &m2[i]);
}
for (i = 0;i < n;i++) //заповню третій масив елементами першого
{
m3[i] = m1[i];
}
for (j = n, i = 0;i < m;i++,j++) // дозаповнюю третій масив елементами другого
{
m3[j] = m2[i];
}
printf("\nЗлитий масив\n");
for (i = 0;i < n + m;i++) //виводжу результат заповнень
{
printf("m3[%i]=%5.1f\t", i, m3[i]);
}
for (i = 0;i < n + m - 1;i++) //сортуєм за спаданням
{
for (j = i + 1;j < n + m;j++)
{
if (m3[j] > m3[i])
{
t = m3[i];
m3[i] = m3[j];
m3[j] = t;
}
}
}
printf("\n\nМасив вiдсортований за спаданням\n");
for (i = 0;i < n + m;i++)
{
printf("m3[%i]=%5.1f\t", i, m3[i]);
}
printf("\n\n");
for (i = 0;i < n + m - 1;i++) //сортуєм за зростанням
{
for (j = i + 1;j < n + m;j++)
{
if (m3[j] < m3[i])
{
t = m3[i];
m3[i] = m3[j];
m3[j] = t;
}
}
}
printf("Масив вiдсортований за зростанням\n");
for (i = 0;i < n + m;i++)
{
printf("m3[%i]=%5.1f\t", i, m3[i]);
}
printf("\n\n");
return 0;
}
Результат:
enter size m1=2
enter size m2=3
m1[0]=1.1
m1[1]=2.1
m2[0]=3.1
m2[1]=4.1
m2[2]=5.1
Злитий масив
m3[0]= 1.1 m3[1]= 2.1 m3[2]= 3.1 m3[3]= 4.1 m3[4]= 5.1
Масив вiдсортований за спаданням
m3[0]= 5.1 m3[1]= 4.1 m3[2]= 3.1 m3[3]= 2.1 m3[4]= 1.1
Масив вiдсортований за зростанням
m3[0]= 1.1 m3[1]= 2.1 m3[2]= 3.1 m3[3]= 4.1 m3[4]= 5.1