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

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

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

нужно отсортировать каждую строку двумерной матрицы по возростанию. если можно с объяснением.
примерно имею следующий код:
Листинг программы
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. int a[2][4];
  5. int i, j, z,k,y;
  6. printf(" vvedite massiv: \n");
  7. for (i = 0; i < 2; i++)
  8. for (k = 0; k < 4; k++)
  9. scanf("a[%d][%d]", &a[i][k]);
  10. for (i = 0; i < 1; i++)
  11. {
  12. z = a[i];
  13. for (j = i - 1; j >= 0; j--)
  14. if (z < a[j]) {
  15. a[j + 1] = a[j];
  16. a[j] = z;
  17. }
  18. }
  19. for (i = 1; i < 2; i++)
  20. {
  21. y = a[i];
  22. for (j = i - 1; j >= 0; j--)
  23. if (y < a[j]) {
  24. a[j + 1] = a[j];
  25. a[j] = y;
  26. }
  27. }
  28. printf("\n otsortirovannyi massiv: \n", a[i]);
  29. for (i = 0; i < 2; i++)
  30. for (k = 0; k < 4; k++)
  31. printf("%d%d\n", a[i][j]);

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

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5.    
  6.     int a[2][4];
  7.     int i, j, z,k;
  8.     printf(" vvedite massiv: \n");
  9.     for (i = 0; i < 2; i++)
  10.     for (k = 0; k < 4; k++)
  11.         scanf("%d", &a[i][k]);
  12.        
  13.        
  14.     for (k = 0; k < 2; k++)
  15.         for(i=4-1;i>=0;i--)
  16.         for (j = 1; j<=i; j++)
  17.             if (a[k][j-1]>a[k][j]) {
  18.                 z=a[k][j-1];
  19.                 a[k][j-1]=a[k][j];
  20.                 a[k][j]=z;
  21.             }
  22.    
  23.    
  24.     printf("\n otsortirovannyi massiv: \n");
  25.     for (i = 0; i < 2; i++)
  26.     {
  27.    
  28.     for (k = 0; k < 4; k++)
  29.         printf("%d ", a[i][k]);
  30.         printf("\n");
  31.     }
  32.     return 0;
  33. }

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы