Сортировка строк матрицы по возрастанию - 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, сигнализирующего о успешном завершении программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д