Отсортировать двумерный массив по возрастанию по строкам - C (СИ)
Формулировка задачи:
нужно отсортировать двумерный массив по возрастанию по строкам
где ошибка
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
for(n=0;n<3;n++)
{
if(MAS[i][j]<MAS[i][n])
{
tmp=MAS[i][j];
MAS[i][j]=MAS[i][n];
MAS[i][n]=tmp;}}}}int MAS[3][3];
Решение задачи: «Отсортировать двумерный массив по возрастанию по строкам»
textual
Листинг программы
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
for(n=j+1;n<3;n++)
{
if(MAS[i][j]>MAS[i][n])
{
tmp=MAS[i][j];
MAS[i][j]=MAS[i][n];
MAS[i][n]=tmp;}}}}
Объяснение кода листинга программы
В данном коде выполняется сортировка двумерного массива по возрастанию по строкам.
- Создается внешний цикл, который выполняет сортировку по каждой строке массива (по i).
- Для каждой строки создается внутренний цикл, который выполняет сортировку элементов текущей строки (по j).
- Для каждого элемента внутреннего цикла (кроме последнего) создается еще один внутренний цикл (по n), который меняет местами текущий элемент и следующий элемент, если текущий элемент больше следующего.
- Переменная tmp используется для временного хранения значения текущего элемента.
- После завершения внешнего цикла, массив будет отсортирован по возрастанию по каждой строке.