10 / 11 / 3
Регистрация: 03.11.2011
Сообщений: 129
1

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

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

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

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

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]); //вывожу найденного сотрудника 
            }
        }
 
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.05.2012, 19:30
Ответы с готовыми решениями:

Как разделить массив на два массива, или удалить из массива часть однотипных элементов?
как разделить массив на два массива или удалить из массива часть однотипных элементов? к примеру...

Как без array_unique удалить из одного массива все значения, которые совпадают с значениями второго массива
Всем привет, не подскажете как без array_unique удалить из одного массива все значения, которые...

Удалить нули из массива! Как удалить нули?но чтобы рисунок остался!
#include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace std; int main() { int r,c; ...

Как удалить из массива???
например dim massiv(10) for i = 0 to 9 massiv(i) = i + 5 next i kak sdes' udalit massiv(5)...

3
35 / 35 / 11
Регистрация: 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;
            }
1
10 / 11 / 3
Регистрация: 03.11.2011
Сообщений: 129
16.05.2012, 02:35  [ТС] 3
Спасибо то что и надо было немножко переделал гуд!
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
16.05.2012, 04:00 4
Я бы предложил внести свойсто bool flag, в котором хранить true, если элемент заполнен и false, если пуст. А дальше для удаления просто ставить этот flag в положение false. Это будет удобно для любой работы с массивом объектов, например с выводом заполненых элементов на экран, сортировкой, записью в файл и т.д.
0
16.05.2012, 04:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2012, 04:00
Помогаю со студенческими работами здесь

Подскажите как удалить из массива
VB 6.0 Подскажите как удалить из массива все круги которые закрашены черным цветом при этом что бы...

Как удалить элемент из массива?
Дан массив чисел. Как удалить из него элементы,например отрицательные

Как удалить элемент массива?
В одномерном массиве имеется один элемент, равный среднему арифметическому всех значений. Удалить...

Как удалить часть массива?
Есть массив vopros = , ] В php есть функция unset, как у Питона можно удалить допустим вот этот...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru