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