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

как удалить из массива - C++

Восстановить пароль Регистрация
 
vpnwz151
 Аватар для vpnwz151
10 / 11 / 1
Регистрация: 03.11.2011
Сообщений: 129
15.05.2012, 19:30     как удалить из массива #1
Есть массив который заполнен сотрудниками, по функции поиск я нахожу и вывожу сотрудника. как сделать так чтоб задавало вопрос удалить сотрудника из массива или нет.
Помогите дописать функцию что-бы она удаляла!

Вот и сама функция

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void DelLast (AddPluss * person , int &size) //Удалить пользователя по имени
{
        char to_del[18];
        cout<<"Для удаления сотрудника введите Фамилию: ";
        cin>>to_del;
        for(int i = 0; i < size; i++)
        {
            if(stricmp(to_del, person[i].personal.Last_Name) == 0) //провожу поиск по масиву
            {
                ShowOnePerson(person[i]); //вывожу найденного сотрудника 
            }
        }
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vetal10
35 / 35 / 5
Регистрация: 25.05.2010
Сообщений: 211
15.05.2012, 21:49     как удалить из массива #2
Могу предложить вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
for(int i = 0; i < size; i++)
        {
            if(stricmp(to_del, person[i].personal.Last_Name) == 0) //провожу поиск по масиву
            {
                ShowOnePerson(person[i]); //вывожу найденного сотрудника 
                char c;
                cout<<"Delete?y/n"<<endl;
                cin>>c;
                if(c=='y')
                    for(int j=i;j<size-1;++j)
                         person[j]=person[j+1];
                 --size;
            }
vpnwz151
 Аватар для vpnwz151
10 / 11 / 1
Регистрация: 03.11.2011
Сообщений: 129
16.05.2012, 02:35  [ТС]     как удалить из массива #3
Спасибо то что и надо было немножко переделал гуд!
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4920 / 2663 / 243
Регистрация: 29.11.2010
Сообщений: 7,409
16.05.2012, 04:00     как удалить из массива #4
Я бы предложил внести свойсто bool flag, в котором хранить true, если элемент заполнен и false, если пуст. А дальше для удаления просто ставить этот flag в положение false. Это будет удобно для любой работы с массивом объектов, например с выводом заполненых элементов на экран, сортировкой, записью в файл и т.д.
Yandex
Объявления
16.05.2012, 04:00     как удалить из массива
Ответ Создать тему
Опции темы

Текущее время: 21:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru