Упорядочить по возрастанию ненулевые элементы нижней половины матрицы - C (СИ)
Формулировка задачи:
Упорядочить по возрастанию ненулевые элементы ее ниж-
ней половины.
{ 1, 0, 3, 9 },
{ 2, 4, 0, 7 },
{ 3, 4, 5, 1 },
{ 8, 3, 6, 1 }
Решение задачи: «Упорядочить по возрастанию ненулевые элементы нижней половины матрицы»
textual
Листинг программы
#include <stdio.h>
int main()
{
int a[4][4]={{ 1, 0, 3, 9 }, { 2, 4, 0, 7 }, { 3, 4, 5, 1 }, { 8, 3, 6, 1 }};
int i, j, b, k;
printf("ARRAY:\n");
for (i=0; i<=3; i++)
{
for (j=0; j<=3; j++)
printf("%d ", a[i][j]);
printf("\n");
}
for (k=2; k<=3; k++)
{
for (i=0; i<=3; i++)
for ( j=2; j>= i; j--)
if ((a[k][j]>a[k][j+1]) && (a[k][j+1]!=0) )
{
b=a[k][j];
a[k][j]=a[k][j+1];
a[k][j+1]=b;
}
}
printf("NEW ARRAY:\n");
for (i=0; i<=3; i++)
{
for (j=0; j<=3; j++)
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}
Объяснение кода листинга программы
Код выполняет следующие действия:
- Объявляет массив a размером 4x4 и заполняет его значениями.
- Выводит начальное значение массива на экран.
- Затем код сортирует ненулевые элементы нижней половины матрицы (элементы с индексами от 2 до 3) по возрастанию, меняя местами элементы в соответствии с логикой сортировки.
- После сортировки выводит полученный массив на экран.
- Возвращает 0, завершая работу программы.