Войти

Показать полную графическую версию : Удаление строк и столбцов матрицы. Тестирование программы


galaid
24-11-2012, 22:48
Здравствуйте. Имеется следующее условие задачи:
Ввести матрицу m*n. Удалить из нее все строки и столбцы, содержащие хотя бы один нулевой элемент. Матрицу уплотнить, сдвинув все ее элементы к левому верхнему углу.
Помогите пожалуйста протестировать правильность работы программы. Только небольшая просьба: не тестируйте на сильно больших значениях (например n, m - byte, сами элементы массива - shortint). Для меня важно именно наличие ошибок алгоритма.

Прикрепляю к теме exe-файл самой программы. Если кому-то нужен исходник, то стучитесь в личку или напишите здесь.

Drongo
25-11-2012, 03:02
Немного не понял условия, но пару результатов приведу, смотрите сами так или нет.N: 2
M: 4

Vvod massiva:
A[1,1]= 0
A[1,2]= 4
A[1,3]= 5
A[1,4]= 0
A[2,1]= 5
A[2,2]= 5
A[2,3]= 8
A[2,4]= -4

Iskhodnyj massiv:
0 4 5 0
5 5 8 -4

Result:
5 8

N: 3
M: 4

Vvod massiva:
A[1,1]= 2
A[1,2]= 5
A[1,3]= 4
A[1,4]= 0
A[2,1]= 74
A[2,2]= 41
A[2,3]= 0
A[2,4]= 4
A[3,1]= -4
A[3,2]= 7
A[3,3]= -5
A[3,4]= 0

Iskhodnyj massiv:
2 5 4 0
74 41 0 4
-4 7 -5 0

Result:
Massiv ne soderzhit ehlementov

galaid
25-11-2012, 08:45
Drongo, все верно.

Попробую объяснить условие более подробно. Мы задаем двумерный массив размерностью Н на М элементов. После этого удаляем каждую строку и строку и столбец, содержащие хотя бы один нулевой элемент. Естественно, что для того, чтобы полученный двумерный массив можно было нормально просмотреть (без нулевых строк и столбцов, которые остались на месте удаленных), его нужно уплотнить, сдвинув все элементы к верхнему левому краю.




© OSzone.net 2001-2012