Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.74
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
#1

Удаление записи из массива структур. - C++

04.10.2011, 22:52. Просмотров 5071. Ответов 21
Метки нет (Все метки)

Здравствуйте! Прошу помочь мне с таким делом: необходимо удалить запись из массива структур.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main()
{
struct List{  // Объявление структуры
    int id;
    char name [30];
    int kol;
    };
List Massiv[5];  // Объявление массива структур
for (int i=0;i<5;i++)  // Заполнение массива структур
    {
        cin>>Massiv[i].id;
        cin>>Massiv[i].name;
        cin>>Massiv[i].kol;
     }
}
Собственно, нужно удалить запись, например, 2 запись массива, т.е. Massiv[1]. Именно удалить, а не обнулить записи.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2011, 22:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление записи из массива структур. (C++):

Удаление из массива структур - C++
Добрый вечер, глубокой ночью, когда самая пора писать работы, в голову приходят разнообразные сумбурные идеи о всевозможных вариантах...

Удаление структуры из массива структур - C++
Допустим имеется структура ... struct WORKER { char familiya; char name; char otchestvo; }; ...

Удаление динамического массива структур - C++
Если удалять массив структур как обычно пишут, то при запросе следующей структуры из массива на вывод она отображается. То есть происходит...

Написать функцию для записи в файл массива структур - C++
помогите написать программу... может у кого нибудь уже есть готовая... нужно: 1) написать функцию для записи в файл массива структур ...

Написать функцию для записи в файл массива структур - C++
Помогите найти ошибку...выходит: undefined reference to `WinMain@16'| #include &quot;fstream&quot; #include &quot;iostream&quot; using namespace std; ...

Как реализовать удаление заданного количества элементов из начала массива структур? - C++
Дано: структура содержащяя фамилию, возраст, рейтинг Что не получается: организовать удаление некоторое количество элементов из начала...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
04.10.2011, 22:58 #2
Так, для этого тебе надо создать список. А у тебя массив.
0
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.10.2011, 22:58  [ТС] #3
Массив записей. Получается 5 элементов массива типа struct, т.е. список.
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
04.10.2011, 23:05 #4
Нет. Ты не прав. Почитай про одно- и двусвязные списки! Массив и связной список - это разные вещи!
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
04.10.2011, 23:05 #5
Не важной какой тип имеет массив. Массив как был непрерывной областью памяти, так он им и останется. Нельзя взять и отвязать из массива какой-то элемент.
Наглядно в памяти(виртуальной памяти) выглядит это так( хотя может не совсем так):
массив целых чисел: {int}{int}{int} и т.д.
массив типа List: {{id}{name[30]}{kol}}{{id}{name[30]}{kol}}{{id}{name[30]}{kol}} и т.д.
0
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.10.2011, 23:08  [ТС] #6
Иными словами, мне нужно удалить элемент массива с определенным номером вообще. В принципе, можно объявить еще одну переменную типа List, с ее помощью поместить выбранный элемент на последнее место, а последний элемент на место того, который мы собираемся удалить. А потом на печать в цикле выдать на 1 элемент меньше.

Но я бы хотел более рациональный способ.

Добавлено через 59 секунд
Спасибо, ну тогда придется вышеуказанным мной способом? Больше никак?
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
04.10.2011, 23:11 #7
Цитата Сообщение от BoBaH26 Посмотреть сообщение
Спасибо, ну тогда придется вышеуказанным мной способом? Больше никак?
Ваш способ плохо годится.
Читайте:
1
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.10.2011, 23:14  [ТС] #8
Спасибо, конечно. Но со списками я пока не знаком. Мне нужно именно через Структуры. Да и вся работа у меня через Структуры уже сделана...

Добавлено через 16 секунд
А списками займусь как-нибудь...
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
04.10.2011, 23:21 #9
Цитата Сообщение от Chelioss Посмотреть сообщение
Ваш способ плохо годится.
Да он вообще не годится.
0
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.10.2011, 23:23  [ТС] #10
lazybiz, ты не тролль случайно? А то болты кладешь, способы критикуешь... Вот напиши, как это должно выглядеть, потом критикуй, если конечно, знаешь, как написать..
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
04.10.2011, 23:37 #11
BoBaH26, нет, я не трольлб.. блин, откуда ты знаешь как пишется это слово?!
На счет болтов и критики я тебя не понял. А может у тебя ко мне какая-то личная неприязнь?
Я лишь сказал что твой способ не подходит. То что из массива нельзя удалить элемент - знает любой программист в данной области. Что не так?
То что Ваш способ вообще не годится - так это правда. Кстати, а где Ваш способ!?

Добавлено через 1 минуту
Цитата Сообщение от BoBaH26 Посмотреть сообщение
Вот напиши, как это должно выглядеть, потом критикуй, если конечно, знаешь, как написать..
Да я не собираюсь писать тебе решение задачи, т.к. ты сам по себе лентяй и это видно. А таким я не помогаю. Уж извини.
0
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.10.2011, 23:44  [ТС] #12
lazybiz, если я сейчас напишу тебе программу, которую я сделал, ты не будешь говорить, что я лентяй. Просто она огромная, переделывать ее под списки я не буду, т.к. программный код уже содержит около 200 строк, я использовал структуры. МОЙ СПОСОБ я как раз сейчас делаю. Если тебе лень помочь, так и скажи.
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
05.10.2011, 00:00 #13
Вовчик, можно тебя так называть!? Так вот, Вовчик, Форум для того и нужен, чтобы люди выкладывали свой код (не зависимо от размера), описывали проблему и говорили что где не так, и какие попытки были предприняты. К сожалению, такого замечено не было.
Давай не будем спорить и ругаться, просто покажи как ты из массива (структур) удаляешь один элемент.
Мне не лень помочь. Просто задай вопрос правильно!

* и не надо больше про троллей, ок!?
0
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
05.10.2011, 00:03  [ТС] #14
lazybiz, хорошо. Как сделаю, сразу выложу. Смысл в том, что я элемент из массива не удаляю, а помещаю его в конец и выдаю на печать все элементы, кроме последнего. Т.о., получается, что этого элемента нет, но только "визуально".
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
05.10.2011, 00:10 #15
BoBaH26, так тебе можно сделать проще! Двигать в конец не надо, надо просто пометить индекс элемента и при выводе не выводить его. Он же все-равно не удаляется! Так же проще
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2011, 00:10
Привет! Вот еще темы с ответами:

Удаление динамической структуры структур - C++
Здравствуйте! Есть две структуры: struct TRow { int m; double *elem; }; struct TMatr//масив рядків

Динамические массивы структур;Классы. Класс массивы структур;Классы. Класс динамического массива структур. - C++
Здраствуйте.Помогите с практичкой мое задание 4.3. Строка таблицы данных содержит следующую информацию о владельцах авто: ф.и.о....

Передача массива структур в функцию не указывая размера массива - C++
Я читаю с командной строки файл в котором содержится массив структур. Есть библиотека с функцией в которую я прередаю файл и массив...

Сортировка массива структур через сортировку массива указателей - C++
Ошибка возникает в функции void sort(student **ppStud, int k, char ch). Кто видит ошибку - помогите, пожалуйста. Код программы: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.10.2011, 00:10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru