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

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

Войти
Регистрация
Восстановить пароль
 
vpnwz151
 Аватар для vpnwz151
10 / 11 / 1
Регистрация: 03.11.2011
Сообщений: 129
#1

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

15.05.2012, 19:30. Просмотров 342. Ответов 3
Метки нет (Все метки)

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

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

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]); //вывожу найденного сотрудника 
            }
        }
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 19:30     как удалить из массива
Посмотрите здесь:

Как удалить цифры из строкового массива C++
C++ Как удалить элемент из массива?
C++ Как удалить из одномерного массива первый отрицательный элемент
C++ Как удалить из исходного массива не повторяющиеся элементы?
Как удалить себя из массива vector? C++
C++ Как удалить последние N элементов из массива типа char?
C++ Как удалить из массива элементы с номерами, кратными определенному числу?
C++ Как удалить элементы динамического массива, а не сам массив?
C++ Как удалить чётные элементы массива
C++ Как удалить элемент из динамического массива?
Как удалить нужную i-строку и j-столбец из двумерного массива? C++
Как удалить элемент символьного массива? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6209 / 3454 / 423
Регистрация: 29.11.2010
Сообщений: 9,165
16.05.2012, 04:00     как удалить из массива #4
Я бы предложил внести свойсто bool flag, в котором хранить true, если элемент заполнен и false, если пуст. А дальше для удаления просто ставить этот flag в положение false. Это будет удобно для любой работы с массивом объектов, например с выводом заполненых элементов на экран, сортировкой, записью в файл и т.д.
Yandex
Объявления
16.05.2012, 04:00     как удалить из массива
Ответ Создать тему
Опции темы

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