Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Удаление строк и столбцов из матрицы


Автор: dolby 23.2.2008, 01:01
Задана матрица размером не более 15 на 15. Элементы матрицы - слова, длинйо до 10 символов. Удалить строки и столбцы, содержащие символы "q" и "e"...

Подскажите принцип, по которому можно организовать удаление строк и столбцов, не теряя данных


 ! 
JackYF
Учимся называть темы нормально, а не "нужен совет".

Автор: georain 23.2.2008, 02:32
Я бы сделал так:
Создал двумерный массив указателей на char 15х15, по указателям разместил бы свои слова.
Код

char * M[15][15];

Далее создал бы два массивчика bool длинной 15 для столбцов и для строк, чтобы он показывал есть стока или столбец в матрице или нет.
Код

bool A[15];
bool B[15];

В начале в A и B всё true (1), когда ведётся поиск все строки и столбцы в которых содержатся символы "q" и "e" помечаются как false (0).
При выдаче результирующей матрицы вычёркиваешь из исходной отсутствующие строки и столбцы, все данные сохраняются.

Автор: Dronchik 23.2.2008, 04:46
dolby, создаёшь цикл, который будет повторяться пока все переменные массива не будут перебранны. В цикле делаешь проверку на наличие нужных тебе символов в строке. если они(символы) присутствуют в строке, удаляешь строку.

Добавлено через 2 минуты и 36 секунд
dolby, и ещё. Заголовок темы должен отражать суть вопроса. А такой заголовок как сейчас у темы суть совершенно не отражает. Заголовки, не отражающие суть темы нарушают правило форума. 

Автор: dolby 25.2.2008, 00:28
Простите плс, просто пост оставлялся в спешке, я исправлюсь  smile 

Автор: Kiss72305 12.9.2009, 16:06
не стала создавать новую тему т.к. впринципе название этой соответствует моему вопросу

найти среднее арифметическое значение матрицы.удалить строки и столбцы,содержащие макс и мин элемент.повторить расчет среднего арифметического.в случае если среднее арифметичексое не уменшилось,повторять удаление срок и столбцов, содержащий макс и мин элемент

возникла проблема на этапе с удалением столбцов и строк..если честно просто не пойму как это осуществить
:-[
подскажите пожалуйста как это сделать..

Автор: bsa 12.9.2009, 23:40
Kiss72305, очень просто, в случае удаления строки k, копируешь строку k+1 поверх строки k, k+2 поверх k+1... уменьшаешь количество строк в матрице на 1. В случае удаления столбца к, делаешь аналогичный перенос значений строк с позиции k+1 на позицию k (внутри строки!) для всех строк. Затем уменьшает количество столбцов у матрицы.

Автор: Kiss72305 13.9.2009, 15:19
благодарю)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)