| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Удаление строк и столбцов из матрицы |
| Автор: dolby 23.2.2008, 01:01 | ||
| Задана матрица размером не более 15 на 15. Элементы матрицы - слова, длинйо до 10 символов. Удалить строки и столбцы, содержащие символы "q" и "e"... Подскажите принцип, по которому можно организовать удаление строк и столбцов, не теряя данных
|
| Автор: georain 23.2.2008, 02:32 | ||||
| Я бы сделал так: Создал двумерный массив указателей на char 15х15, по указателям разместил бы свои слова.
Далее создал бы два массивчика bool длинной 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 |
| Простите плс, просто пост оставлялся в спешке, я исправлюсь |
| Автор: 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 |
| благодарю) |