30 / 30 / 5
Регистрация: 02.12.2010
Сообщений: 255
|
||||||
1 | ||||||
Удаление записи из массива структур.04.10.2011, 22:52. Показов 13022. Ответов 21
Метки нет (Все метки)
Здравствуйте! Прошу помочь мне с таким делом: необходимо удалить запись из массива структур.
0
|
04.10.2011, 22:52 | |
Ответы с готовыми решениями:
21
Удаление из массива структур Удаление структур из массива Удаление динамического массива структур Удаление структуры из массива структур |
30 / 30 / 5
Регистрация: 02.12.2010
Сообщений: 255
|
|
04.10.2011, 22:58 [ТС] | 3 |
Массив записей. Получается 5 элементов массива типа struct, т.е. список.
0
|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
|
04.10.2011, 23:05 | 5 |
Не важной какой тип имеет массив. Массив как был непрерывной областью памяти, так он им и останется. Нельзя взять и отвязать из массива какой-то элемент.
Наглядно в памяти(виртуальной памяти) выглядит это так( хотя может не совсем так): массив целых чисел: {int}{int}{int} и т.д. массив типа List: {{id}{name[30]}{kol}}{{id}{name[30]}{kol}}{{id}{name[30]}{kol}} и т.д.
0
|
30 / 30 / 5
Регистрация: 02.12.2010
Сообщений: 255
|
|
04.10.2011, 23:08 [ТС] | 6 |
Иными словами, мне нужно удалить элемент массива с определенным номером вообще. В принципе, можно объявить еще одну переменную типа List, с ее помощью поместить выбранный элемент на последнее место, а последний элемент на место того, который мы собираемся удалить. А потом на печать в цикле выдать на 1 элемент меньше.
Но я бы хотел более рациональный способ. Добавлено через 59 секунд Спасибо, ну тогда придется вышеуказанным мной способом? Больше никак?
0
|
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
|
|
04.10.2011, 23:11 | 7 |
1
|
30 / 30 / 5
Регистрация: 02.12.2010
Сообщений: 255
|
|
04.10.2011, 23:14 [ТС] | 8 |
Спасибо, конечно. Но со списками я пока не знаком. Мне нужно именно через Структуры. Да и вся работа у меня через Структуры уже сделана...
Добавлено через 16 секунд А списками займусь как-нибудь...
0
|
30 / 30 / 5
Регистрация: 02.12.2010
Сообщений: 255
|
|
04.10.2011, 23:23 [ТС] | 10 |
lazybiz, ты не тролль случайно? А то болты кладешь, способы критикуешь... Вот напиши, как это должно выглядеть, потом критикуй, если конечно, знаешь, как написать..
0
|
04.10.2011, 23:37 | 11 |
BoBaH26, нет, я не трольлб.. блин, откуда ты знаешь как пишется это слово?!
На счет болтов и критики я тебя не понял. А может у тебя ко мне какая-то личная неприязнь? Я лишь сказал что твой способ не подходит. То что из массива нельзя удалить элемент - знает любой программист в данной области. Что не так? То что Ваш способ вообще не годится - так это правда. Кстати, а где Ваш способ!? Добавлено через 1 минуту Да я не собираюсь писать тебе решение задачи, т.к. ты сам по себе лентяй и это видно. А таким я не помогаю. Уж извини.
0
|
30 / 30 / 5
Регистрация: 02.12.2010
Сообщений: 255
|
|
04.10.2011, 23:44 [ТС] | 12 |
lazybiz, если я сейчас напишу тебе программу, которую я сделал, ты не будешь говорить, что я лентяй. Просто она огромная, переделывать ее под списки я не буду, т.к. программный код уже содержит около 200 строк, я использовал структуры. МОЙ СПОСОБ я как раз сейчас делаю. Если тебе лень помочь, так и скажи.
0
|
05.10.2011, 00:00 | 13 |
Вовчик, можно тебя так называть!? Так вот, Вовчик, Форум для того и нужен, чтобы люди выкладывали свой код (не зависимо от размера), описывали проблему и говорили что где не так, и какие попытки были предприняты. К сожалению, такого замечено не было.
Давай не будем спорить и ругаться, просто покажи как ты из массива (структур) удаляешь один элемент. Мне не лень помочь. Просто задай вопрос правильно! * и не надо больше про троллей, ок!?
0
|
30 / 30 / 5
Регистрация: 02.12.2010
Сообщений: 255
|
|
05.10.2011, 00:03 [ТС] | 14 |
lazybiz, хорошо. Как сделаю, сразу выложу. Смысл в том, что я элемент из массива не удаляю, а помещаю его в конец и выдаю на печать все элементы, кроме последнего. Т.о., получается, что этого элемента нет, но только "визуально".
0
|
30 / 30 / 5
Регистрация: 02.12.2010
Сообщений: 255
|
||||||
05.10.2011, 00:20 [ТС] | 16 | |||||
Вообщем, речь идет о массивах. Записи я пока не трогаю. Допустим, надо удалить 3 элемент массива.
А вот об этом, пожалуйста, поподробнее. Как его проигнорить в цикле for (int i=0;i<5;i++)? Добавлено через 3 минуты Немного не понял, что значит "пометить"...
0
|
05.10.2011, 00:29 | 17 | |||||
Допустим надо пропустить его при выводе. Суть такова. Вставляем в цикл:
Добавлено через 1 минуту Пометить, это значит, что ты в переменную i записываешь номер того элемента, который не хочешь выводить.
1
|
30 / 30 / 5
Регистрация: 02.12.2010
Сообщений: 255
|
|
05.10.2011, 00:35 [ТС] | 18 |
Спасибо, да не. Я не понял, как реализовать это "пометить", в этом смысле . А вот насчет условия, спасибо. Голова уже не соображает. Завтра буду доделывать. Ну в итоге около 200 строк программного кода будет. Сейчас пока 150, я ошибся немного.
Добавлено через 1 минуту Ну, плюс там много однотипных строк, где я обрабатываю сами записи.
0
|
30 / 30 / 5
Регистрация: 02.12.2010
Сообщений: 255
|
|
05.10.2011, 00:42 [ТС] | 20 |
lazybiz, ну извини, просто мне сначала так показалось, просто ты в теме "рандом числа" писал про то, что ему болт класть, способ мой критиковал, а сам ничего на тот момент не предложил. Ну ладно, забыли. Кстати, так с условием гораздо проще, если я захочу сделать функцию, тем более. Мой способ слишком сложен и не универсален. Но все ж работает.
1
|
05.10.2011, 00:42 | |
05.10.2011, 00:42 | |
Помогаю со студенческими работами здесь
20
Массив структур: добавление записи, удаление записи, поиск по одному или нескольким из полей Удаление элемента из массива структур Удаление записи из массива записи или файла Создание динамического массива структур и его удаление Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |