Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
Помогите разобраться в программе. Вторую неделю мучаюсь Задан двумерный динамический массив целых чисел. Нужно исключить из матрицы столбцы и строки, в которых нечетных элементов меньше, чем четных. Написал только для строк , компилируется но работает неверно + иногда ошибки при работе с кучей, видимо выходит за пределы. Как реализовать это одновременно с удалением столбцов не представляю, так как сразу удалять строку после проверки нельзя ,ведь это может повлиять на будущую проверку столбцов. Скорее всего надо будет просто запоминать все строки и столбцы с нужным параметром, а потом только удалять. Модератор: Отредактировано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 19:02 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
Прикрепи правильный исходник. А модератор уберёт кривые версии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 19:11 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 19:12 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
Newbie22Написал только для строк , компилируется но работает неверно + иногда ошибки при работе с кучей, видимо выходит за пределы. Ты слишком сложно делаешь. Лучше просто выдели память под новый массив, скопируй в него "хорошие" ячейки старого, а старый массив убей. Newbie22Как реализовать это одновременно с удалением столбцов не представляю, так как сразу удалять строку после проверки нельзя ,ведь это может повлиять на будущую проверку столбцов. Скорее всего надо будет просто запоминать все строки и столбцы с нужным параметром, а потом только удалять. Да, правильно. Сделай два одномерных массива, один для строк, другой для колонок. Пробеги по исходному массиву и если строку исходного массива надо удалять, ставь единичку во временном массиве для строк, если удалять не надо - ставишь нолик. Аналогично для колонок. Потом на основе этих временных массивов высчитываешь размерность нового массива. И не забудь по окончании работы удалить эти два одномерных массива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 19:13 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
Enter number of rows: 5 Enter number of columns: 5 408 349 814 454 114 571 893 477 188 642 120 362 432 884 814 972 867 668 109 188 942 956 178 229 398 4 4 3 3 0 0 0 0 0 571 893 477 188 642 972 867 668 109 188 3 вот результат работы а в плане должно получиться только 571 893 477 188 642 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 19:15 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
В задании написано "В результате преобразования должна измениться матрица, просто вывести результат преобразования на экран – недостаточно. " Как я понимаю должен измениться исходный массив поэтому новый массив объявлять нежелательно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 19:19 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
Newbie22В задании написано "В результате преобразования должна измениться матрица, просто вывести результат преобразования на экран – недостаточно. " Как я понимаю должен измениться исходный массив поэтому новый массив объявлять нежелательноНу так у тебя же и будет уже преобразованная матрица в памяти. Хотя конечно, если предпод желает обязательно увидеть игры с realloc() то в этом случае копирование действительно нет смысла делать. Но с другой стороны, realloc() физически делает именно это - выделяет новый кусок памяти, копирует в него из старого либо по размеру нового куска, либо по размеру старого (зависит от того меньше новый старого или больше). Так что используя realloc() ты в любом случае уже делаешь новый массив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 19:28 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
White Owl, Именно он realloc и хочет видеть, и как реализовать все это используя realloc я, увы, не знаю. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Можете подсказать как реализовать заполнения массива, запоминающего удаленные стобцы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 19:38 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
то что я написал выше почему-то неправильно подсчитывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 19:55 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
White Owl, Реализовал 2 массива которые подсчитываю какие столбцы и строки выбирать, далее идея такая подсчитать количество элементов нового массива и просто не проверять если ни в 1 одномерном ни в другом одномерном нет условно допустим 1, то его записывать в массив( Вероятнее всего у меня получиться цикл в цикле в цикле) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 21:00 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
realloc() в цикле делать теоретически можно, но дико. Это излишне сложно и неэффективно. Но в принципе возможно.... Например так (Не проверял, поэтому могут быть ошибки): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. а потом в цикле вызываешь эти процедуры на каждую строку и колонку которую надо удалять. Ну и не забудь что удаление проще делать с конца а не с начала. Тогда не надо будет пересчитывать координаты остальных строк которые еще не удалены, но должны быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 23:42 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
White Owl, Почти реализовал всю программу без realloc, проблема в том что в начале выводит 1 лишнее число и не всегда правильно работает Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 23:47 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
Суть в том что я проверяю является ли число из 1 массива исключенным , если нет, то записываю в другой массив ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 23:50 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 12:47 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
Там можно как-то лаконичнее сделать. По сути мы маркируем строки и столбцы признаком удаления и в ОДНУ операцию new/malloc/realloc создаём копию матрицы с пропуском отмеченых. Это по смыслу - она тразнакция и не нужно делать избыточных memmove в циклах. Эти промежуточные состояния матрицы всё равно никому нафиг не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 12:52 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
У подхода с memmove свои плюсы, он не требует выделения дополнительной памяти. Можно вообще без malloc/realloc обойтись, используя память исходного массива. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 16:05 |
|
||
|
Удаление одновременно столбцов и строк.
|
|||
|---|---|---|---|
|
#18+
Развивая идею можно создать производный класс MatrixHiddingColumns и перегрузить индексаторы таким образом чтобы скрытые столбцы просто не отображались и не участвовали в матричных расчётах. Итого - вообще никаких операций с менеджером памяти. Как видите. Это не предел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 16:16 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38084188&tid=2020581]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
174ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 313ms |
| total: | 587ms |

| 0 / 0 |
