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

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

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

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

04.10.2011, 22:52. Просмотров 5331. Ответов 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++
Дано: структура содержащяя фамилию, возраст, рейтинг Что не получается: организовать удаление некоторое количество элементов из начала...

21
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
05.10.2011, 00:20  [ТС] #16
Вообщем, речь идет о массивах. Записи я пока не трогаю. Допустим, надо удалить 3 элемент массива.
C++
1
2
3
4
5
6
7
8
9
10
11
int main()
{
int massiv[5];
int prom;
for (int i=0;i<5;i++) cin>>massiv[i];
prom = massiv[2];
massiv[2] = massiv[4];
massiv[4] = prom; // Элемент стал последним.
for (int i=0;i<4;i++) cout<<massiv[i]<<"\t"; // А вот здесь выдаем элементы на печать.
                                                           // Напечатаются все, кроме последнего.
}
Добавлено через 1 минуту
Цитата Сообщение от lazybiz Посмотреть сообщение
BoBaH26, так тебе можно сделать проще! Двигать в конец не надо, надо просто пометить индекс элемента и при выводе не выводить его. Он же все-равно не удаляется! Так же проще
А вот об этом, пожалуйста, поподробнее. Как его проигнорить в цикле for (int i=0;i<5;i++)?

Добавлено через 3 минуты
Немного не понял, что значит "пометить"...
0
castaway
Эксперт С++
4916 / 3024 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
05.10.2011, 00:29 #17
Цитата Сообщение от BoBaH26 Посмотреть сообщение
Допустим, надо удалить 3 элемент массива.
Допустим надо пропустить его при выводе. Суть такова. Вставляем в цикл:
C++
1
2
3
    if ( i != 3 ) { // если не 4-й элемент, то на вывод
        cout << massiv[i] << "\t";
    }
И твои махинации с передвижениями ни к чему.

Добавлено через 1 минуту
Цитата Сообщение от BoBaH26 Посмотреть сообщение
Немного не понял, что значит "пометить"...
Пометить, это значит, что ты в переменную i записываешь номер того элемента, который не хочешь выводить.
1
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
05.10.2011, 00:35  [ТС] #18
Спасибо, да не. Я не понял, как реализовать это "пометить", в этом смысле . А вот насчет условия, спасибо. Голова уже не соображает. Завтра буду доделывать. Ну в итоге около 200 строк программного кода будет. Сейчас пока 150, я ошибся немного.

Добавлено через 1 минуту
Ну, плюс там много однотипных строк, где я обрабатываю сами записи.
0
castaway
Эксперт С++
4916 / 3024 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
05.10.2011, 00:39 #19
Я рад что трольбь смог тебе помочь)))
0
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
05.10.2011, 00:42  [ТС] #20
lazybiz, ну извини, просто мне сначала так показалось, просто ты в теме "рандом числа" писал про то, что ему болт класть, способ мой критиковал, а сам ничего на тот момент не предложил. Ну ладно, забыли. Кстати, так с условием гораздо проще, если я захочу сделать функцию, тем более. Мой способ слишком сложен и не универсален. Но все ж работает.
1
castaway
Эксперт С++
4916 / 3024 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
05.10.2011, 00:43 #21
... ...
0
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
05.10.2011, 00:45  [ТС] #22
Не по теме: Правильно "Тролль", не надо быть им, чтобы знать, как пишется это слово, достаточно хорошо знать русский язык, ну или в интернете можно глянуть
0
05.10.2011, 00:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2011, 00:45
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Опции темы

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