Отсортировать каждую строку матрицы по возрастанию - C (СИ)

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

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

нужно отсортировать каждую строку двумерной матрицы по возростанию. если можно с объяснением.
примерно имею следующий код:
#include <stdio.h>
 
int main(void)
{
    
    int a[2][4];
    int i, j, z,k,y;
    printf(" vvedite massiv: \n");
    for (i = 0; i < 2; i++)
    for (k = 0; k < 4; k++)
        scanf("a[%d][%d]", &a[i][k]);
    for (i = 0; i < 1; i++) 
    {
        z = a[i];
        for (j = i - 1; j >= 0; j--)
            if (z < a[j]) {
                a[j + 1] = a[j];
                a[j] = z;
            }
    }
     for (i = 1; i < 2; i++) 
        {
        y = a[i];
        for (j = i - 1; j >= 0; j--)
            if (y < a[j]) {
                a[j + 1] = a[j];
                a[j] = y;
            }
    }
    printf("\n otsortirovannyi massiv: \n", a[i]);
    for (i = 0; i < 2; i++)
    for (k = 0; k < 4; k++)
        printf("%d%d\n", a[i][j]);

Решение задачи: «Отсортировать каждую строку матрицы по возрастанию»

textual
Листинг программы
#include <stdio.h>
 
int main(void)
{
    
    int a[2][4];
    int i, j, z,k;
    printf(" vvedite massiv: \n");
    for (i = 0; i < 2; i++)
    for (k = 0; k < 4; k++)
        scanf("%d", &a[i][k]);
        
        
    for (k = 0; k < 2; k++) 
        for(i=4-1;i>=0;i--)
        for (j = 1; j<=i; j++)
            if (a[k][j-1]>a[k][j]) {
                z=a[k][j-1];
                a[k][j-1]=a[k][j];
                a[k][j]=z;
            }
    
    
    printf("\n otsortirovannyi massiv: \n");
    for (i = 0; i < 2; i++)
    {
    
    for (k = 0; k < 4; k++)
        printf("%d ", a[i][k]);
        printf("\n");
    }
    return 0;
}

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

  1. Подключение стандартной библиотеки ввода-вывода (stdio.h)
  2. Объявление переменных:
    • a[2][4] - массив из 2 строк по 4 элемента
    • i, j, z, k - индексы для прохода по массиву
  3. Ввод данных с помощью функции scanf:
    • Пользователь вводит 2 строки по 4 числа
  4. Прямой проход по массиву для сортировки:
    • Внешний цикл для прохода по строкам (k)
    • Внутренний цикл для прохода по столбцам (i)
    • Условие для определения необходимости перестановки элементов (a[k][j-1]>a[k][j])
    • Если условие выполняется, то производится перестановка элементов
  5. Вывод отсортированного массива:
    • Внутренний цикл для прохода по столбцам (i)
    • Внешний цикл для прохода по строкам (k)
    • Вывод каждого элемента массива с помощью функции printf
  6. Возврат 0 для завершения программы

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


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

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

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