Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/56: Рейтинг темы: голосов - 56, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35

Удаление структуры из массива структур

11.07.2013, 17:33. Показов 11652. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Допустим имеется структура
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
...
struct WORKER
{
char familiya[50];
char name[20];
char otchestvo[35];
};
...
//Заполняется так:
n=10;
for (int i;i<n;i++)
{
cout<<"Familiya: ";
cin>>WORKER[i].familiya;
 
cout<<"Name: ";
cin>>WORKER[i].name;
 
cout<<"Otchestvo:";
cin>>WORKER[i].otchestvo;
}
...
//Затем, пользователь должен ввести номера структуры, которые нужно удалить:
//Почему данный пример не работает???Как исправить? 
...
for (i=0; i<num; i++)
    {
        cin>>number[i];
    }
 
    for (i=0; i<sum; i++)
    {
      b=number[i];
      delete [] pro[b];  
    }
Как произвести удаление (напр.) WORKER[2] и WORKER[7]?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.07.2013, 17:33
Ответы с готовыми решениями:

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

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

Удаление структур из массива
нужна функция, которая бы удаляла нужный элемент массива структур, но я совершенно не имею представления, как это осуществить void...

9
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
11.07.2013, 17:37
что вы подразумеваете под удалением? и для того, что бы понять как удалить, нужно видеть как создаёте... в общем инфы мало, давайте весь код, так будет проще...
0
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
11.07.2013, 17:46  [ТС]
Цитата Сообщение от l_a_m Посмотреть сообщение
давайте весь код, так будет проще...
Весь код слишком длинный, написал маленький пример..
А это разве не заполнение?
n=10;
for (int i;i<n;i++)
{
cout<<"Familiya: ";
cin>>WORKER[i].familiya;

cout<<"Name: ";
cin>>WORKER[i].name;

cout<<"Otchestvo:";
cin>>WORKER[i].otchestvo;
}
Под удалением подразумевается удаление структуры под опр. номером. Допустим WORKER[6]
0
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
11.07.2013, 17:52
что такое WORKER и как он создаётся?
Цитата Сообщение от Ghoster Посмотреть сообщение
удаление структуры под опр. номером
без сдвига данных на удаленную область?
0
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
11.07.2013, 17:58  [ТС]
Цитата Сообщение от l_a_m Посмотреть сообщение
что такое WORKER и как он создаётся?
Worker это и есть структура, создающаяся в первой (точнее 2) строчке.
Цитата Сообщение от l_a_m Посмотреть сообщение
без сдвига данных на удаленную область?
Можно и без сдвига, т.к. данные заносятся в файл, откуда потом считываются по порядку
0
11.07.2013, 17:59

Не по теме:

если не обязательно освобождать память? то почему бы просто не зделать так?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
 
typedef struct {
    std::string s1;
    std::string s2;
    std::string s3;
 
} col;
const size_t size = 3;
 
int main() {
    setlocale(LC_ALL, "Russian");
    col *arr = new col[size];
    for (int i = 0; i < size; i++) {
        std::getline(std::cin, arr[i].s1);
        std::getline(std::cin, arr[i].s2);
        std::getline(std::cin, arr[i].s3);
    }
    int number;
    std::cout << "Какую уструктуру удалить?";
    std::cin >> number;
    for (int i = 0; i < size; i++) {
        if (i != number)std::cout << arr[i].s1 << ' ' << arr[i].s2 << ' ' << arr[i].s3 << std::endl;
    }
 
    return 0;
}

1
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
11.07.2013, 18:01
во 2-й строчке она заполняется, а я спрашиваю как и где она создаётся, это разные вещи!

Добавлено через 1 минуту
Цитата Сообщение от Belfegor Посмотреть сообщение
если не обязательно освобождать память
память как раз освобождать, как я понял, нужно, её не обязательно затирать...
0
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
11.07.2013, 18:01  [ТС]
Извиняюсь, не заметил сразу ни удалять ни pro[b], а WORKER [b]. Просто ссылку пробрасывал))
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
12.07.2013, 04:12
Цитата Сообщение от Ghoster Посмотреть сообщение
cout<<"Familiya: ";
cin>>WORKER[i].familiya;
cout<<"Name: ";
cin>>WORKER[i].name;
cout<<"Otchestvo:";
cin>>WORKER[i].otchestvo;
У тебя WORKER это не переменная(не экземпляр структуры), чтобы к ней так обращаться
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2013, 04:55
Цитата Сообщение от Ghoster Посмотреть сообщение
Весь код слишком длинный, написал маленький пример..
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
У тебя WORKER это не переменная(не экземпляр структуры), чтобы к ней так обращаться
Ghoster, вы когда код выкладываете, то хотя бы проверяйте: компилируется он или нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.07.2013, 04:55
Помогаю со студенческими работами здесь

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

Удаление записи из массива структур.
Здравствуйте! Прошу помочь мне с таким делом: необходимо удалить запись из массива структур. int main() { struct List{ // Объявление...

Присвоение структуре другой структуры из массива структур
Привет всем вот всё ковыряю задание с клубами. Из-за незнания нюансов и отсутствие практики не могу присвоить и отсортировать массив...

Установка всех переменных каждой структуры массива структур на 0
Пусть имеется данный код struct GLintpoint{ int x; int y; }

Удаление элемента из массива структур
Кто может показать функцию, которая будет удалять элемент из массива структур (сведения о студенте) Добавлено через 2 минуты ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru