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

Удаление элемента динамического массива справа - C++

Восстановить пароль Регистрация
 
Лерой
1 / 1 / 0
Регистрация: 22.12.2012
Сообщений: 26
31.05.2014, 21:58     Удаление элемента динамического массива справа #1
Нужно удалить последний структурный элемент динамического массива.
помогите пожалуйста никак не получается сделать эту функцию.
Это то, что сделала я, с радостью рассмотрю другой метод.
C++
1
2
3
4
5
6
7
8
9
10
11
void del_right (liter *&a, int &n)
{ liter *k;
for (int i=0; i<n-1; i++)
{strcpy(k[i].autor, a[i].autor);
strcpy(k[i].name, a[i].name);
k[i].year=a[i].year;
}
delete[]a;
a=k;
n--;
}
структура:
C++
1
2
3
4
5
6
struct liter
{
char autor[20];
char name[20];
int year;
};
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2014, 21:58     Удаление элемента динамического массива справа
Посмотрите здесь:

Удаление динамического массива C++
Удаление динамического массива C++
C++ Добавление и удаление элемента динамического массива
Удаление динамического массива C++
Удаление динамического массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
31.05.2014, 23:37     Удаление элемента динамического массива справа #2
1. используйте std::string
2. используйте std::vector
3. код полная ахинея
4. покажите как заполняется массив
Лерой
1 / 1 / 0
Регистрация: 22.12.2012
Сообщений: 26
01.06.2014, 09:40  [ТС]     Удаление элемента динамического массива справа #3
Заполняется массива с права и лева. это дек с ограниченным выходом. заполняется вроде правильно по крайней мере компилятор ошибки не выдает.


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
void add_right (liter *&a, liter x, int &n)
{
cout<<"autor:";
cin.get();
cin.getline(x.autor,20);
cout<<"name:";
cin.getline(x.name,20);
cout<<"year:";
cin>>x.year;
a[n]=x;
n++;
}
 
 
 
 
void add_left (liter *&a, liter x, int &n)
{
cout<<"autor:";
cin.get();
cin.getline(x.autor,20);
cout<<"name:";
cin.getline(x.name,20);
cout<<"year";
cin>>x.year;
 
for (int i=0; i<=n; i++)
{a[n-i+1]=a[n-i];
}
a[0]=x;
n++;
}
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.06.2014, 11:11     Удаление элемента динамического массива справа #4
Лерой, то у Вас динамический массив, то дек. Как задание звучит изначально?
Лерой
1 / 1 / 0
Регистрация: 22.12.2012
Сообщений: 26
01.06.2014, 11:42  [ТС]     Удаление элемента динамического массива справа #5
Разработать программу, выполняющую операции со структурами данных, реализованными в виде динамических массивов. Алгоритм выполнения каждой операции оформить в виде функции. Программа должна содержать меню, позволяющее протестировать все операции с динамической структурой.

элементы данных:
Авторы – 20 символов, название - 20 символов, год издания – целое число

структура данных:
Дек с ограниченным выходом
Yandex
Объявления
01.06.2014, 11:42     Удаление элемента динамического массива справа
Ответ Создать тему
Опции темы

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