Сортировка строк матрицы по возрастанию - C (СИ)
Формулировка задачи:
Здравствуйте. Помогите, пожалуйста, исправить код. Дан двумерный массив (N=4, M=6). Отсортировать его строки по возрастанию. У меня происходит сортировка,но не всех значений.
Листинг программы
- #include<stdio.h>
- #include<conio.h>
- #include<stdlib.h>
- #include<time.h>
- #define N 4
- #define M 6
- int main()
- {
- int a[N][M],i,j,c;
- time_t t;
- clrscr();
- srand(time(&t));
- for(i=0;i<N;i++)
- {
- for(j=0;j<M;j++)
- {
- a[i][j]=0+rand()%100;
- printf("%d ",a[i][j]);
- }
- printf("\n");
- }
- for(i=0;i<N;i++)
- {
- for(j=0;j<M-1;j++)
- {
- if(a[i][j]>a[i][j+1])
- {
- c=a[i][j];
- a[i][j]=a[i][j+1];
- a[i][j+1]=c;
- }
- }
- }
- printf("\n");
- for(i=0;i<N;i++)
- {
- for(j=0;j<M;j++)
- {
- printf("%d ",a[i][j]);
- }
- printf("\n");
- }
- getch();
- return 0;
- }
Решение задачи: «Сортировка строк матрицы по возрастанию»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- const unsigned int sizeMatrix = 10;
- int matrix[sizeMatrix][sizeMatrix], tmp = 0;
- for (size_t i = 0; i < sizeMatrix; ++i)
- for (size_t j = 0; j < sizeMatrix; ++j)
- matrix[i][j] = rand() % 10;
- for (size_t i = 0; i < sizeMatrix; ++i)
- for (size_t j = 0; j < sizeMatrix - 1; ++j)
- for (size_t k = 0; k < sizeMatrix - 1; ++k)
- if (matrix[i][k + 1] < matrix[i][k]) {
- tmp = matrix[i][k + 1];
- matrix[i][k + 1] = matrix[i][k];
- }
- for (size_t i = 0; i < sizeMatrix; ++i) {
- for (size_t j = 0; j < sizeMatrix; ++j) {
- printf("%d ", matrix[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек: iostream.h и stdlib.h
- Объявление константы размера матрицы: sizeMatrix = 10
- Создание двумерного массива типа int: matrix[sizeMatrix][sizeMatrix]
- Инициализация матрицы случайными числами от 0 до 9 с помощью функции rand()
- Прямой проход по матрице для сравнения элементов
- Сравнение элементов матрицы и перестановка их в нужном порядке
- Вывод отсортированной матрицы на экран с помощью функции printf()
- Возвращение значения 0, сигнализирующего о успешном завершении программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д