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

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

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

2. Преобразовать матрицу Р (7х7) таким образом, чтобы минимальные элементы строк оказались на побочной диагонали.
#include <stdio.h>
#include <stdlib.h>
#define X 7
int main(void)
{
    int z[X][X];
    int i,j=0,o=3,q=0;
    for (i=0;i<X;i++)
    {
      printf ("--\n");
       for (j=0;j<X;j++)
        scanf ("%d",&z[i][j]);
    }
    for (i=0;i<X;i++)
    {
            j=0;
            q=z[i][j];
            while (j<X)
            {
            if (q>z[i][j+1])
            {
             q=z[i][j+1];
             j++;
            }
            }
 
            z[i][o]=q;
            o--;
    }
    for (i=0;i<X;i++)
    {
        printf ("--\n");
        for (j=0;j<X;j++)
            printf ("[%d][%d] = %d\n",z[i][j]);
    }
}

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

textual
Листинг программы
for (int i = 0; i<7; i++){
   int n = 0;
   for(int j = 1; j< 7; j++){
      if (matrica[i][j] < matrica[i][n])
         n = j;
}
int tmp = matrica[i][6-i];
matrica[i][6-i] = matrica[i][n];
matrica[i][n] = tmp;
}

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

  1. Перебираем строки матрицы от 0 до 6 (включительно) - 1 итерация
  2. Для каждой строки, инициализируем переменную n равной 0
  3. Перебираем столбцы матрицы от 1 до 6 (включительно) - 1 итерация
  4. Если элемент в текущем столбце меньше, чем элемент в столбце n, то обновляем значение n
  5. Меняем местами элемент в столбце n с элементом в столбце 6-i (где i - номер текущей строки)
  6. Меняем местами элемент в столбце n с элементом в столбце i
  7. Возвращаемся к п.1 и переходим к следующей строке

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


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

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

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