0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 22
|
||||||
1 | ||||||
Удаление элементов из целочисленного одномерного массива05.11.2014, 18:57. Показов 11343. Ответов 10
Метки нет Все метки)
(
Доброго времени суток!
У меня возникла небольшая проблема и после нескольких дней безуспешных попыток найти ошибку я решил обратиться к вам. Сначала задание: Разработать и испытать функцию, которая удаляет из целочисленного одномерного массива все элементы, совпадающие по значению с его начальным элементом, и возвращает новый размер массива. Далее код программы которую я написал, причем скажу сразу - у меня большое подозрение, что ошибка в разделе "//Удаление элементов массива равных первому элементу массива" Так же (но это не столь критично) прошу найти ошибку в разделе "//Проверка на повторный запуск" Заранее спасибо!
0
|
|
05.11.2014, 18:57 | |
Ответы с готовыми решениями:
10
Найти сумму элементов одномерного целочисленного массива Для одномерного целочисленного массива найти количество и процентное соотношение отрицательных элементов Удаление элементов из одномерного массива |
365 / 321 / 219
Регистрация: 21.02.2013
Сообщений: 756
|
||||||
05.11.2014, 19:48 | 2 | |||||
1
|
15 / 15 / 3
Регистрация: 04.02.2013
Сообщений: 124
|
||||||
05.11.2014, 20:04 | 3 | |||||
1
|
3 / 3 / 5
Регистрация: 01.11.2014
Сообщений: 19
|
||||||
05.11.2014, 22:03 | 4 | |||||
Кликните здесь для просмотра всего текста
1
|
0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 22
|
||||||
06.11.2014, 13:43 [ТС] | 5 | |||||
Спасибо всем огромное!
Дальше постараюсь доделать самостоятельно Добавлено через 4 часа 53 минуты Что изменить в функции, что бы первый элемент (с которым сравнивают) массива не удалялся?
0
|
15 / 15 / 3
Регистрация: 04.02.2013
Сообщений: 124
|
|
06.11.2014, 14:19 | 6 |
Попробуйте начальное значение j в цикле for установить 1. Скорее всего, придется изменить и начальное значение del. Возможно, еще что-то потянется) Пробуйте.
0
|
0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 22
|
|
06.11.2014, 14:58 [ТС] | 7 |
я пробовал уже, тогда первый элемент нового массива остается, но последний исчезает
0
|
15 / 15 / 3
Регистрация: 04.02.2013
Сообщений: 124
|
|
06.11.2014, 15:52 | 8 |
MixaelMitre, в цикле for, который выводит полученный массив, увеличьте искусственно количество итераций на 1 (i <= n). Если последний элемент массива выведется, значит, скорее всего, функция неправильно определяет количество элементов в новом массиве. Можете подебажить, конечно, с трассировкой переменных, но, по мне, в таких коротеньких программах проще экспериментировать прямо с кодом и смотреть на результат.
0
|
16 / 16 / 6
Регистрация: 03.11.2014
Сообщений: 72
|
|
06.11.2014, 17:15 | 9 |
Предлагаю идею для реализации функции.пусть она принимает два параметра указатель на тип элементов массива и количество элементов в массиве.
Потом через цикл for идти от конца массива к началу и искать элементы равные первому .храня число значимых для нас элементов массива.если мы наткнулись на элемент равный первому то менять местами последний значимый с тем который равен первому и уменьшить количество значимых элементов на один а первый элемент не сравнивать с самим собой.потом выделить память уже измененной величины туда переписать данные, поменять местами указатели освободить данные по указателю созданному в функции и выйти из функции В функцию пихать массив и его размер.
0
|
0 / 0 / 0
Регистрация: 19.10.2014
Сообщений: 22
|
||||||
06.11.2014, 18:57 [ТС] | 10 | |||||
Хм.. интересно получается...
Кстати, а не подскажите как очистить массивы и память для повторного использования программы? Попробуйте пожалуйста прогнать прогу, я что-то совсем запутался ЗЫ пробовал использовать memset но что-то не получается
0
|
15 / 15 / 3
Регистрация: 04.02.2013
Сообщений: 124
|
|
08.11.2014, 02:01 | 11 |
прогнать не получится, ибо gcc.
new, delete? нет? При беглом просмотре кода у вас new, delete, free(), malloc(), realloc() в одном флаконе + нулевые указатели. Мне кажется, многовато для такой задачки, очень лениво парсить ваш код. Попробуйте упростить.
0
|
08.11.2014, 02:01 | |
Помогаю со студенческими работами здесь
11
Удаление элементов целочисленного одномерного массива, кратных первому элементу этого массива Вычислить значения 36 элементов одномерного целочисленного массива Вычислить значения элементов одномерного целочисленного массива Y в интервале (-8 ,8) Вывести на экран содержимое элементов целочисленного одномерного массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |