Переставить строки матрицы по убыванию произведения элементов строк - C (СИ)

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

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

Помогите написать. Задать значения элементов массива А (м х n) случайным образом. Упорядочить элементы по след. закону - переставить строки матрицы по убыванию произведений элементов строк. Заранее спасибо!

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

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define M 5
#define N 5
int main(void) {
    int arr[M];
    int A[M][N];int i,j,temp,f;
    for(i=0;i<M;i++) {
        arr[i]=1;
    }
    srand(time(NULL));
    printf("Исходный массив:\n\n");
    for(i=0;i<M;i++) {
            for(j=0;j<N;j++) {
                A[i][j]=rand()%5+1;
                printf("%d ",A[i][j]);
            }
            printf("\n");
    }
    printf("\n");
    for(i=0;i<M;i++) {
        for(j=0;j<N;j++) {
            arr[i]*=A[i][j];
        }
    }
    for(i=0;i<M;i++) {
        for(f=0;f<M;f++) {
        if(arr[i+1]>arr[i]) {
            for(j=0;j<M;j++) {
                temp = A[i][j];
                A[i][j]=A[i+1][j];
                A[i+1][j]=temp;
            }
            temp=arr[i];
            arr[i]=arr[i+1];
            arr[i+1]=temp;
        }
        }
    }
    printf("Получившийся массив:\n\n");
    for(i=0;i<M;i++) {
        for(j=0;j<N;j++) {
            printf("%d ",A[i][j]);
        }
        printf("\n");
    }
    return 0;
}

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

  1. Подключаются необходимые библиотеки
  2. Определяются размеры матрицы
  3. Инициализируется массив arr с единицами
  4. Инициализируется матрица A случайными числами от 1 до 6
  5. Перебираются строки матрицы A, произведение элементов каждой строки сохраняется в переменной arr
  6. Перебираются строки матрицы A, если произведение элементов следующей строки больше текущего, выполняется перестановка строк
  7. Выводится полученная матрица

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


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

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

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