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

Массив структур(Добавление,удаление, редактирование элементов)

19.03.2019, 20:13. Показов 4714. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream> 
 
using namespace std;
 
struct temp
{
    int lo1;
    int lol2;
};
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    temp *arr = new temp[100];
 
 
    system("pause");
    return 0;
}
Есть некая структура, в ней нужно описать с помощью функции добавление, удаление и т.д. Изначально в массиве есть n количество записей. Далее нужно снова добавить в массив новый элементы и работать с ними. Работать с STL вместо массива нельзя.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.03.2019, 20:13
Ответы с готовыми решениями:

Создать массив структур, который можно редактировать: поиск по заданному полю, удаление и добавление элементов
Создать структуру и именем sklad, которая содержит следующие поля: NAME- Название товара TYPE- единица измерения товара QUANTITI-...

Реализовать добавление/удаление элементов в массив объектов типа PhoneBook
Есть небольшая задача создать телефонную книгу с возможностью записи контакта. выводом контактов на экран. и удалением всех контактов ...

Добавление и удаление строк в массиве структур
Как добавлять и удалять целые строки в структуре? (можно командой в консоли по 1 строке)

1
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
19.03.2019, 23:26
Цитата Сообщение от Elllik Посмотреть сообщение
Есть некая структура, в ней нужно описать с помощью функции добавление, удаление и т.д.
добавление удаление чего?

Добавлено через 3 часа 6 минут
Вот простенький массив для вашей структуры:
Кликните здесь для просмотра всего текста
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
struct temp {
    int lol1, lol2;
};
 
class my_array {
    temp* arr;
    size_t sz;
    size_t cap;
 
    void reserve(size_t new_capacity);
 
public:
    my_array() :arr(0), sz(0), cap(0) {}
    explicit my_array(size_t size) { reserve(size); }
    my_array(const my_array& other);
    my_array& operator=(const my_array& other);
 
    ~my_array() { delete[] arr; }
 
    temp& operator[](size_t index) { return arr[index]; }
    const temp& operator[](size_t index) const { return arr[index]; }
 
    void push_back(const temp& val);
    void pop_back() { if (sz) --sz; }
 
    size_t size() const { return sz; }
    size_t capacity() const { return cap; }
    void resize(size_t new_size);
};
 
void my_array::reserve(size_t new_capacity)
{
    if (new_capacity <= cap) return;
    temp* tmp = new temp[new_capacity];
    for (size_t i(0); i < sz; ++i) tmp[i] = arr[i];
    delete[] arr;
    arr = tmp;
    cap = new_capacity;
}
 
my_array::my_array(const my_array & other)
{
    reserve(other.cap);
    for (size_t i(0); i < other.sz; ++i) arr[i] = other[i];
    sz = other.sz;
}
 
my_array & my_array::operator=(const my_array & other)
{
    if (this == &other) return *this;
    if (other.sz <= cap) {
        for (size_t i(0); i < other.sz; ++i) arr[i] = other[i];
        sz = other.sz;
        return *this;
    }
    temp* tmp = new temp[other.cap];
    for (size_t i(0); i < other.sz; ++i) tmp[i] = other[i];
    delete[] arr;
    cap = other.cap;
    sz = other.sz;
    arr = tmp;
    return *this;
}
 
void my_array::push_back(const temp & val)
{
    if (!cap) reserve(8);
    else if (sz == cap) reserve(2 * cap);
    arr[sz] = val;
    ++sz;
}
 
void my_array::resize(size_t new_size)
{
    reserve(new_size);
    sz = new_size;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.03.2019, 23:26
Помогаю со студенческими работами здесь

Редактирование(добавление/удаление) объемных текстовых файлов
Предположим, есть большой текстовый файло размером 1гб, из которого нужно удалить некоторые строчки. Я так подозреваю, что самые простые...

Редактирование элементов массива структур
Доброго здравия! Все не могу понять, почему при попытке задать новые значения элементов в массиве структур ничего не выходит? код не...

Структуры.Обработка массивов структур.Создать массив структур из 10-ти элементов
Создать массив структур из 10-ти элементов: &lt;Номер договора&gt;&lt;Фамилия клиента&gt;&lt;стоимость товара&gt;&lt;выплаченная сумма&gt; ...

Как в классе сделать ввод с клавиатуры, удаление, добавление и редактирование строк?
Всем доброго дня. Написал программу с использованием класса. Но смог написать только так, чтобы значения задавались сразу (Автор книги,...

1 Отсортировать по возрастанию (методом выбора). 2 добавление, удаление, редактирование элемента списка (на С без плюсов).
Здравствуйте! Помогите пожалуйста с 2 заданиями на С (без плюсов). Первое пробовал делать, но дальше ввода массива не доходило, если ещё...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru