Выполнить сортировкой методом пузырька - 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;
}

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

  1. Включаем необходимые заголовочные файлы для работы с языком C
  2. Устанавливаем локаль на русский язык с помощью функции setlocale
  3. Инициализируем генератор случайных чисел с помощью функции srand и времени с помощью функции time
  4. Объявляем переменные для работы с матрицей и ее размерами
  5. С помощью функции scanf считываем размер матрицы
  6. С помощью функции malloc выделяем память для матрицы
  7. Заполняем матрицу случайными числами с помощью функции rand и выводим ее на экран
  8. Сортируем матрицу методом пузырька
  9. Выводим отсортированную матрицу на экран
  10. Освобождаем память с помощью функции free
  11. Завершаем программу и возвращаем 0

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


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

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

13   голосов , оценка 4 из 5
Похожие ответы