Отсортировать указанную строку матрицы по возрастанию - C (СИ)

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

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

Помогите, пожалуйста, с написанием программы на языке Си. Текст задачи: "Дана матрица целых чисел MxN. Пользователь вводит с клавиатуры номер строки. Программа должна отсортировать указанную строку матрицы по возрастанию. Выведите матрицу до и после обработки на экран." Примечание: - Для задания значения элементов массива используйте функцию rand(). Диапазон задается произвольно, но не меньше чем от -25 до +25. Вручную вводить значения не надо. - Размер массива должен быть не менее 10 элементов, матрицы – не менее 8 на 8 элементов. - Перед обработкой массива выведите его на экран. - Размерности массивов (M, N) задаются статически в самой программе. Необходимо сегодня завершить написание программы. В крайнем случае, объясните хотя бы, как объеденить оператор rand() и массив. Любой помощи буду безмерно благодарен!!!

Решение задачи: «Отсортировать указанную строку матрицы по возрастанию»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define M 4
#define N 5
 
int compare(const void* a, const void* b)
{
    return (*(int*)a - *(int*)b);
}
 
int main(void)
{
    int a[M][N];
    
    srand(time(NULL));
    
    printf("Original array:\n");
    for (int i = 0; i < M; i++)
    {
        for (int j = 0; j < N; j++)
        {
            a[i][j] = rand() % 10;
            printf("%d ", a[i][j]);
        }
        printf("\n");
    }
    
    int lineNumber;
    scanf("%d", &lineNumber);
    
    qsort(a[lineNumber], N, sizeof(int), compare);
    
    printf("Modified array:\n");
    for (int i = 0; i < M; i++)
    {
        for (int j = 0; j < N; j++) printf("%d ", a[i][j]);
        printf("\n");
    }
    
    return 0;
}

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

  1. Включаем необходимые заголовочные файлы для работы с массивами, выводом данных и сортировкой
  2. Определяем размеры матрицы (M на N)
  3. Создаем функцию сравнения для использования в функции qsort
  4. Инициализируем матрицу случайными числами от 0 до 9
  5. Выводим исходную матрицу на экран
  6. Запрашиваем у пользователя номер строки для сортировки
  7. Сортируем массив в выбранной строке по возрастанию с помощью функции qsort и функции сравнения
  8. Выводим отсортированную матрицу на экран
  9. Возвращаем 0, чтобы указать, что программа успешно завершилась

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


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

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

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