Выполнить сортировкой методом выбора - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Выполнить сортировкой методом выбора Разобрать программу, которая выводит целочисленную матрицу из n строк и m столбцов. Упорядочить все элементы матрицы таким образом, чтобы при чтении матрицы по строкам ее элементы образовывали отсортированный по убыванию массив. Вывести массив до и после сортировки.

Решение задачи: «Выполнить сортировкой методом выбора»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
   printf("input count columns and rows the matrix: ");
   size_t col, row;
   scanf("%u %u", &col, &row);
   size_t size = col * row;
 
   int* matrix = (int*) malloc(sizeof(int) * size);
 
   size_t i;
   for (i = 0; i < size; ++i)
   {
      matrix[i] = rand() % 90 + 10;
   }
 
   for (i = 0; i < size; ++i)
   {
      printf("%d ", matrix[i]);
      if (((i+1) % col) == 0)
      {
         printf("\n");
      }
   }
 
   size_t j, max, tmp;
   for (i = 0; i < (size - 1); ++i)
   {
      max = i;
      for (j = i + 1; j < size; ++j)
      {
         if (matrix[max] < matrix[j])
         {
            max = j;
         }
      }
 
      tmp = matrix[max];
      matrix[max] = matrix[i];
      matrix[i] = tmp;
   }
 
   printf("\n");
   for (i = 0; i < size; ++i)
   {
      printf("%d ", matrix[i]);
      if (((i+1) % col) == 0)
      {
         printf("\n");
      }
   }
 
   system("pause");
   free(matrix);
 
   return 0;
}

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

  1. Ввод количества столбцов и строк матрицы с помощью функции scanf.
  2. Выделение памяти под матрицу с помощью функции malloc.
  3. Заполнение матрицы случайными числами в диапазоне от 10 до 90 с помощью функции rand и оператора %.
  4. Вывод содержимого матрицы на экран с помощью цикла for и функции printf.
  5. Ввод количества столбцов и строк матрицы с помощью функции scanf.
  6. Сортировка матрицы методом выбора с помощью двух вложенных циклов for и операторов if и else.
  7. Вывод отсортированной матрицы на экран с помощью цикла for и функции printf.
  8. Вызов функции system для приостановки работы программы до нажатия клавиши.
  9. Освобождение памяти, выделенной под матрицу, с помощью функции free.
  10. Возврат значения 0, сигнализирующего о успешном завершении программы.

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


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

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

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