Удалить из матрицы строки и столбцы, последние элементы которых положительны - C (СИ)
Формулировка задачи:
Доброго времени суток!Помогите пожалуйста написать программу, задание такое:
"В основной программе описать матрицу целых чисел. Размерность матрицы запрашивать с клавиатуры. Элементы матрицы задать случайным образом. Написать функцию, удаляющую из матрицы строки и столбцы, последние элементы которых положительны. Размерность матрицы передать в функцию по ссылке. На экран в основной программе вывести исходную и преобразованную матрицы"
Решение задачи: «Удалить из матрицы строки и столбцы, последние элементы которых положительны»
textual
Листинг программы
int a,b; // переменные отвечают за позицию строки в НОВОМ массиве, и столбца в НОВОМ массиве for(a = 0, i=0; i < счетчик_разрешенных_строк; i++, a++) { for(b = 0, j=0; j < счетчик_разрешенных_столбцов; j++, b++) { НОВЫЙ_МАССИВ[a][b] = СТАРЫЙ_МАССИВ[МАССИВ_РАЗРЕШЕННЫХ_СТРОК[i]][МАССИВ_РАЗРЕШЕННЫХ_СТОЛБЦОВ[i]]; } }
Объяснение кода листинга программы
- Переменные
a
иb
используются для отслеживания позиции строки и столбца в новом массиве соответственно. - Код выполняет два вложенных цикла. Внешний цикл выполняется столько раз, сколько есть разрешенных строк в старом массиве. Внутренний цикл выполняется столько раз, сколько есть разрешенных столбцов в текущей строке.
- Значение в новом массиве устанавливается равным значению в старом массиве по индексу, соответствующему разрешенной строке и разрешенному столбцу.
- Код не удаляет строки или столбцы из старого массива. Он просто копирует значения из старого массива в новый массив, исключая строки и столбцы, которые не были разрешены.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д