Выполнить сортировкой методом пузырька - C (СИ)
Формулировка задачи:
Выполнить сортировкой методом пузырька
Разобрать программу, которая выводит целочисленную матрицу из n строк и m столбцов. Упорядочить все элементы матрицы таким образом, чтобы при чтении матрицы по строкам ее элементы образовывали отсортированный по убыванию массив. Вывести массив до и после сортировки.
Решение задачи: «Выполнить сортировкой методом пузырька»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <locale.h> int main(){ setlocale(LC_ALL, "rus"); srand(time(0)); int **array_a; //Динамический массив int i, j, k; //Счетчики int line; //Строки int column; //Столбцы int buf; //Буферная переменная /*Вводим размер матрицы*/ printf("Введите размер матрицы:\n"); scanf("%d %d", &line, &column); /*Выделяем память для массива*/ array_a = (int**)malloc(sizeof(int)*line); for(i = 0; i < line; i++){ array_a[i] = (int*)malloc(sizeof(int)*column); } /*Заполняем массив через рандом*/ printf("Исходный массив:\n"); for(i = 0; i < line; i++){ for(j = 0; j < column; j++){ array_a[i][j] = rand()%10 - 4; printf("%d ", array_a[i][j]); } printf("\n"); } /*Сортируем пузырьком*/ for(i = 0; i < line; i++){ for(k = 0; k < column - 1; k++){ for(j = k + 1; j < column; j++){ if(array_a[i][k] > array_a[i][j]){ buf = array_a[i][k]; array_a[i][k] = array_a[i][j]; array_a[i][j] = buf; } } } } /*Выводим итог*/ printf("\nИтог:\n"); for(i = 0; i < line; i++){ for(j = 0; j < column; j++){ printf("%d ", array_a[i][j]); } printf("\n"); } /*Освобождаем память*/ free(array_a); return 0; }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с языком C
- Устанавливаем локаль на русский язык с помощью функции setlocale
- Инициализируем генератор случайных чисел с помощью функции srand и времени с помощью функции time
- Объявляем переменные для работы с матрицей и ее размерами
- С помощью функции scanf считываем размер матрицы
- С помощью функции malloc выделяем память для матрицы
- Заполняем матрицу случайными числами с помощью функции rand и выводим ее на экран
- Сортируем матрицу методом пузырька
- Выводим отсортированную матрицу на экран
- Освобождаем память с помощью функции free
- Завершаем программу и возвращаем 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д