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

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

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

Здравствуйте. Помогите, пожалуйста, исправить код. Дан двумерный массив (N=4, M=6). Отсортировать его строки по возрастанию. У меня происходит сортировка,но не всех значений.
Листинг программы
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4. #include<time.h>
  5. #define N 4
  6. #define M 6
  7. int main()
  8. {
  9. int a[N][M],i,j,c;
  10. time_t t;
  11. clrscr();
  12. srand(time(&t));
  13. for(i=0;i<N;i++)
  14. {
  15. for(j=0;j<M;j++)
  16. {
  17. a[i][j]=0+rand()%100;
  18. printf("%d ",a[i][j]);
  19. }
  20. printf("\n");
  21. }
  22. for(i=0;i<N;i++)
  23. {
  24. for(j=0;j<M-1;j++)
  25. {
  26. if(a[i][j]>a[i][j+1])
  27. {
  28. c=a[i][j];
  29. a[i][j]=a[i][j+1];
  30. a[i][j+1]=c;
  31. }
  32. }
  33. }
  34. printf("\n");
  35. for(i=0;i<N;i++)
  36. {
  37. for(j=0;j<M;j++)
  38. {
  39. printf("%d ",a[i][j]);
  40. }
  41. printf("\n");
  42. }
  43. getch();
  44. return 0;
  45. }

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.   const unsigned int sizeMatrix = 10;
  7.   int matrix[sizeMatrix][sizeMatrix], tmp = 0;
  8.  
  9.   for (size_t i = 0; i < sizeMatrix; ++i)
  10.     for (size_t j = 0; j < sizeMatrix; ++j)
  11.       matrix[i][j] = rand() % 10;
  12.  
  13.   for (size_t i = 0; i < sizeMatrix; ++i)
  14.     for (size_t j = 0; j < sizeMatrix - 1; ++j)
  15.       for (size_t k = 0; k < sizeMatrix - 1; ++k)
  16.         if (matrix[i][k + 1] < matrix[i][k]) {
  17.           tmp = matrix[i][k + 1];
  18.           matrix[i][k + 1] = matrix[i][k];
  19.         }
  20.  
  21.   for (size_t i = 0; i < sizeMatrix; ++i) {
  22.     for (size_t j = 0; j < sizeMatrix; ++j) {
  23.       printf("%d ", matrix[i][j]);
  24.     }
  25.     printf("\n");
  26.   }
  27.  
  28.   return 0;  
  29. }

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

  1. Подключение необходимых библиотек: iostream.h и stdlib.h
  2. Объявление константы размера матрицы: sizeMatrix = 10
  3. Создание двумерного массива типа int: matrix[sizeMatrix][sizeMatrix]
  4. Инициализация матрицы случайными числами от 0 до 9 с помощью функции rand()
  5. Прямой проход по матрице для сравнения элементов
  6. Сравнение элементов матрицы и перестановка их в нужном порядке
  7. Вывод отсортированной матрицы на экран с помощью функции printf()
  8. Возвращение значения 0, сигнализирующего о успешном завершении программы

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


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

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

7   голосов , оценка 4.286 из 5

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

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

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