0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 12
|
||||||
1 | ||||||
Как устранить проблему с вызванным исключением?10.04.2019, 14:10. Показов 775. Ответов 15
Метки нет (Все метки)
Пытаюсь написать функцию для изменения размера массива.
Как это можно было бы исправить?
0
|
10.04.2019, 14:10 | |
Ответы с готовыми решениями:
15
Как устранить проблему небезопасной реализации интерфейса HostnameVerifier Почему не работает setAttribute? Как устранить данную проблему? Недопустимый элемент "else" в выражении. Как устранить таковую проблему? Устранить проблему с rtl120.bpl. Не открывается главная страница скайп |
60 / 45 / 15
Регистрация: 06.03.2018
Сообщений: 202
|
|
10.04.2019, 14:13 | 2 |
Ошибка начинается здесь:
А далее ее последствия. массив размерностью NxN бедет содержать N*N элементов, а у Вас содержит N*2
0
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
||||||
10.04.2019, 14:26 | 3 | |||||
vishe_mastila,
0
|
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 12
|
||||||
10.04.2019, 14:28 [ТС] | 4 | |||||
zayats80888, спасибо за помощь, с этим разобралась. Только теперь проблема в другом. Собственно, от нее изначально и пыталась избавиться, меняя размер вектора под указанное число элементов, но дело, видимо, не совсем в этом. Снова исключение, только уже в 33 строке.
0
|
Комп_Оратор)
|
|
10.04.2019, 14:30 | 5 |
vishe_mastila,тот факт, что не существует способа однозначно определить трансформацию измерений многомерного массива задав изменение только общего количества элементов, вас не смущает?
0
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
|
10.04.2019, 14:35 | 6 |
vishe_mastila, посмотрите код выше, я его исправил (ошибка была), вы с ошибкой взяли.
Покажите main, а то в функции read_array размер массива не изменяется. Добавлено через 1 минуту Не по теме: IGPIGP, ну кому то нравится, когда умножаешь на два, а оно раздувается в четыре раза :)
0
|
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 12
|
||||||
10.04.2019, 14:35 [ТС] | 7 | |||||
zayats80888,
0
|
6340 / 3511 / 1427
Регистрация: 07.02.2019
Сообщений: 8,977
|
||||||
10.04.2019, 14:46 | 8 | |||||
vishe_mastila, прикрутил козе баян:
0
|
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 12
|
|
10.04.2019, 14:56 [ТС] | 9 |
zayats80888, ясно, в чем ошибка была. Благодарю.
0
|
Комп_Оратор)
|
|
10.04.2019, 15:16 | 10 |
zayats80888, квадратичная зависимость количества элементов от переданного размера, это конечно сильнее магических чисел. Но даже если уж так. Зачем идти по измерениям старого массива старого массива при копировании? Кто потом будет разбирать как использовать замусоренные огрызки? Плохо не то, что это мутота. Плохо то, что где-то в программе какой-то код должен знать о содеянном. Имхо, лучше подряд старый в новый переписать.
0
|
zayats80888
|
10.04.2019, 15:30
#11
|
Не по теме: IGPIGP, я честно говоря вообще не понимаю зачем это автору, раз он весь код не показывает, значит он немаленький, и переписывать его с нуля мне не хотелось бы, потому помог чем смог(не понимая что нужно). Дальше пущай сам копает. :)
0
|
IGPIGP
|
10.04.2019, 15:39
#12
|
Не по теме: не вижу связи этих явлений, так же как и не вижу как размер человека связан с логикой его поступков. Так же, как непонятно, как одним числом выразить ресайз для 2D "массива" в динамической памяти. Для меня, логика важнее самой реализации. То есть, понимание, что прямоугольный или квадратный случай, это частности зубчатого массива, где каждое измерение может иметь свою длину, это не оверхэд. Это то, что позволит задаться вопросом: -"А что значит ресайз для 2D массива? Хорошо ли уменьшать размеры измерений без реалок? И.т.п."
0
|
Злостный нарушитель
9616 / 5207 / 1187
Регистрация: 12.03.2015
Сообщений: 24,585
|
|
10.04.2019, 18:37 | 13 |
Не надо так делать. Двумерный динмассив - это одномерный массив указателей. Т.е. данные в памяти располагаются не единым куском, а кусками, каждый из которых начинается с соответствующего адреса, который и содержит каждый из указателей одномерного массива.
Это надо понимать в первую очередь. --------- А теперь суть задачи: каким должен быть массив после изменения размера?
0
|
Комп_Оратор)
|
|
10.04.2019, 19:40 | 16 |
Опять-таки не понятно, что именно не так. При увеличении размера вона как лихо релокейтятся цепочки на указателях массива указателей. Вроде как тут понятно, что это не один непрерывный кусок. Хаотично оно всё как-то, конечно. Уменьшается массив странно. Копируются данные, - тоже. Но всё это скорее всего потому, что даже задачка с одномерным массивом (вектором
0
|
10.04.2019, 19:40 | |
10.04.2019, 19:40 | |
Помогаю со студенческими работами здесь
16
Устранить проблему с видео после установки Ubuntu 16.04 на Virtual Box Нужно устранить проблему 1603, нужны 2 файла, любой может посодействовать если имеется 32x-разрядная система и джава Устранить проблему и зависание на ноутбуке "Fatal error detected failed to execute script starter" Исправить проблему с размножающимися элементами ListBox и проблему со сортировкой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |