Двоч, помоги. У меня тут лаба в шараге по сраному СИ горит. Мой говнокод компилится, работает, но в ходе выполнение консоля вылетает и выдается пикрил. Какая-то хуета с ДИНАМИЧЕСКИМИ МАССИВАМИ. Говнокод полностью: https://pastebin.com/PTwHKwNY
Задача + требования (копипаст): 2. Дан одномерный целочисленный массив А, состоящий из N элементов. N заданное натуральное число. - Определить, образуют ли значения элементов массива последовательность чисел Фиббоначи. - Сформировать массив В из простых множителей элемента массива А, являющегося наибольшего среди элементов массива имеющих нечетное значение. - Удалить из массива А все элементы, сумма цифр корторых кратна 7. - Выполнить циклический сдвиг массива влево на число элементов равное заданному К.
Требования к заданию 2 1. Использовать только динамический массив. 2. Для каждой задачи варианта выполните декомпозицию и для каждой разработайте отдельную функцию. 3. В программу включите интерфейс пользователя для выбора пользователем способа ввода элементов массива: с клавиатуры и датчиком случайных чисел, вывода массива и выполнение всех задач задания.
>>168357503 Ну это уже дальше сам. Мне дебажит глазками простынь чужого говнокода с ведра как-то не с руки. Мрлитись глазками на предмет ошибок работы с памятью это одно. Искать логические ошибки - эт другое. Вооббщем удачи
>>168357770 тебе не надо уменьшать, просто держи итаратор на хвост массива, а после всех просчетов просто можешь выделить новый кусок и скопировать туда из старого минус итератор
изначально ты можешь просто макс массив сделать, и хранить размер массива и итератор на конец данных и просто обновлять его не реалоцируя память, так как это вобщето дорогая операция, если тебе надо будет массив больше максимально, пералоцируй новую память и скопируй туда старый, и проапдейть итератор и размер
>>168357770 Когда исправишь говнокод вот тебе совет как выпендрится перед преподом: хорошим тоном является минимизировать количество операций по выделению памяти ибо ДОРАГА. вместа реаллока в цикле резервируй память заранее, стандартной общепринятой стратегией выделения вектора неизвестной длинны является удвоение при необходимости. Т.е. выделя, например сначала на 10 чисел, нсли не влезло - то реаллоцируй на ддвадцать, потом на 40 итд. Второе - используй эвристики для оценки размера необходимой памяти. Нопример где ты пытаешься заполнить массив делителей, их никак не может быть больше чем корень из n пополам.
Сделаешь так и сможешь пояснить - получишь увожение от препода
Говнокод полностью: https://pastebin.com/PTwHKwNY
Задача + требования (копипаст):
2. Дан одномерный целочисленный массив А, состоящий из N элементов. N заданное натуральное число.
- Определить, образуют ли значения элементов массива последовательность чисел Фиббоначи.
- Сформировать массив В из простых множителей элемента массива А, являющегося наибольшего среди элементов массива имеющих нечетное значение.
- Удалить из массива А все элементы, сумма цифр корторых кратна 7.
- Выполнить циклический сдвиг массива влево на число элементов равное заданному К.
Требования к заданию 2
1. Использовать только динамический массив.
2. Для каждой задачи варианта выполните декомпозицию и для каждой разработайте отдельную функцию.
3. В программу включите интерфейс пользователя для выбора пользователем способа ввода элементов массива: с клавиатуры и датчиком случайных чисел, вывода массива и выполнение всех задач задания.