Преобразовать матрицу так, чтобы минимальные элементы строк оказались на побочной диагонали - 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; }
Объяснение кода листинга программы
- Перебираем строки матрицы от 0 до 6 (включительно) - 1 итерация
- Для каждой строки, инициализируем переменную
n
равной 0 - Перебираем столбцы матрицы от 1 до 6 (включительно) - 1 итерация
- Если элемент в текущем столбце меньше, чем элемент в столбце
n
, то обновляем значениеn
- Меняем местами элемент в столбце
n
с элементом в столбце6-i
(гдеi
- номер текущей строки) - Меняем местами элемент в столбце
n
с элементом в столбцеi
- Возвращаемся к п.1 и переходим к следующей строке
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д