Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Supernatural
604 / 203 / 30
Регистрация: 22.11.2010
Сообщений: 1,585
Записей в блоге: 1
#1

Добавление динамического элемента в статический массив - C++

19.06.2014, 07:42. Просмотров 697. Ответов 15
Метки нет (Все метки)

в продолжение этой темы.
если создам статический массив
C++
1
ECM a[6];
мне нужно в него добавить седьмой элемент, нужна подсказка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.06.2014, 07:42
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Добавление динамического элемента в статический массив (C++):

Исправить программу. Статический массив вместо динамического - C++
Как обойтись без 12 строки? #include <stdio.h> #include <iostream> #include <time.h> using namespace std; int main() { ...

Добавление элемента в конец динамического массива! - C++
#include "stdafx.h" #include <iostream> #include <malloc.h> using namespace std; int main() { int i, key, n, amountRem,...

Добавление элемента в начало динамического массива - C++
Господа подскажите пожалуйста ошибку в коде. Не верно работает добавление нового элемента в начало динамического массива. Не могу допетрить...

Добавление и удаление элемента динамического массива - C++
Подскажите какие существую способы добавления и удалеия элемента одномерного динамического массива(переопределяя размер массива)....

Нужно создать статический массив строк как статический массив указателей на строки. Условние ниже --> - C++
Слова английского текста рассортировать по возрастанию количества заданной буквы в слове. Слова с одинаковым количеством такой буквы...

создать статический массив строк как статический массив указателей на строки, задание ниже --> - C++
Слова английского текста, начинающиеся с гласных букв, рассортировать в алфавитном порядке по первой согласной букве слова. Остальные слова...

15
castaway
Эксперт С++
4924 / 3032 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
19.06.2014, 07:58 #2
В него нельзя добавить 7-й элемент.
1
uglyPinokkio
326 / 229 / 41
Регистрация: 30.05.2014
Сообщений: 682
19.06.2014, 08:34 #3
Цитата Сообщение от Supernatural Посмотреть сообщение
мне нужно в него добавить седьмой элемент, нужна подсказка.
Ну продолжим тут - динамический массив в C++ это vector.

C++
1
2
3
4
std::vector<ECM> a;
a.resize(6);
ECM b;
a.push_back(b);
1
Supernatural
604 / 203 / 30
Регистрация: 22.11.2010
Сообщений: 1,585
Записей в блоге: 1
19.06.2014, 09:23  [ТС] #4
не не, тему вектора пока не трогать, с ним потом поговорим. Нужны другие варианты.

Добавлено через 2 минуты
Цитата Сообщение от castaway Посмотреть сообщение
В него нельзя добавить 7-й элемент.
но как-то надо, допустим запускаю программу, хочу ввести 6 машинок. А потом решил еще добавить. Вот это еще нужно организовать, так как надо построить статическую и динамическую организацию.
0
uglyPinokkio
326 / 229 / 41
Регистрация: 30.05.2014
Сообщений: 682
19.06.2014, 09:24 #5
Цитата Сообщение от Supernatural Посмотреть сообщение
Нужны другие варианты.
А как уже сказали - со статическим вариантов нет, только динамический и переотводить при добавлении либо статический максимального размера, если этот размер известен.
0
castaway
Эксперт С++
4924 / 3032 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
19.06.2014, 09:25 #6
Только через динамический массив/контейнер.
0
uglyPinokkio
326 / 229 / 41
Регистрация: 30.05.2014
Сообщений: 682
19.06.2014, 09:25 #7
Цитата Сообщение от Supernatural Посмотреть сообщение
допустим запускаю программу, хочу ввести 6 машинок. А потом решил еще добавить.
А в чем разница-то между 6 и еще ? . Динамически по одной и добавлять.
0
Supernatural
604 / 203 / 30
Регистрация: 22.11.2010
Сообщений: 1,585
Записей в блоге: 1
19.06.2014, 09:33  [ТС] #8
Цитата Сообщение от uglyPinokkio Посмотреть сообщение
А в чем разница-то между 6 и еще ? . Динамически по одной и добавлять.
хочу сразу предусмотреть все варианты)
хотя может не тренировать себя....по отдельности все написать: 1 программа с динамическим массивом, другая со статическим. Но вот вопрос, если в статическом массиве воспользоваться деструктором, ведь значения будут пустые или объект класса, который его вызвал, вовсе исчезнет из массива?
0
uglyPinokkio
326 / 229 / 41
Регистрация: 30.05.2014
Сообщений: 682
19.06.2014, 09:40 #9
Цитата Сообщение от Supernatural Посмотреть сообщение
Но вот вопрос, если в статическом массиве воспользоваться деструктором, ведь значения будут пустые или объект класса, который его вызвал, вовсе исчезнет из массива?
С этого места помедленнее . В примере в массиве лежат не указатели а объекты. Зачем там пользоваться деструктором? Оно само развалится по выходу из области видимости. А заменить объект в массиве - просто присвоением.
0
0x10
2548 / 1728 / 264
Регистрация: 24.11.2012
Сообщений: 4,348
19.06.2014, 09:40 #10
Цитата Сообщение от Supernatural Посмотреть сообщение
в статическом массиве воспользоваться деструктором, ведь значения будут пустые или объект класса, который его вызвал, вовсе исчезнет из массива?
Не надо явно вызывать деструктор.
1
SatanaXIII
Супер-модератор
Эксперт С++
5688 / 2743 / 258
Регистрация: 01.11.2011
Сообщений: 6,695
Завершенные тесты: 1
19.06.2014, 10:13 #11
Муа-ха-ха-ха:
C++
1
2
3
4
5
6
7
8
9
unsigned n = 6, shift = 0;
 
ECM a[n+1];
a[n] = NULL;
 
if( NeedMore() )
  shift = 1;
for( i=0; i<n+shift; i++ )
  a[i] = some();
Еще предусмотрено, и без динамики.
1
Supernatural
604 / 203 / 30
Регистрация: 22.11.2010
Сообщений: 1,585
Записей в блоге: 1
19.06.2014, 11:03  [ТС] #12
Я все решил реализовать 2 кода со статическим массивом и с динамическим.
Цитата Сообщение от 0x10 Посмотреть сообщение
Не надо явно вызывать деструктор.
все же лучше показать, что он используется, иначе для чего я вообще его объявлял и определял.
Есть вопрос, по вызову конструкторов с параметрами и без, но это в следующей теме))))) И на этом я закрываю дискуссию, всем спасибо за внимание)))

Добавлено через 4 минуты
SatanaXIII, хороший ход, надо попробовать
0
Croessmah
Ушел
13764 / 8014 / 923
Регистрация: 27.09.2012
Сообщений: 19,724
Записей в блоге: 3
Завершенные тесты: 1
19.06.2014, 11:07 #13
Цитата Сообщение от Supernatural Посмотреть сообщение
все же лучше показать, что он используется, иначе для чего я вообще его объявлял и определял.
ну попробуйте. Заодно будет повод создать еще одну тему с вопросом "А пачему не работает?"
2
0x10
2548 / 1728 / 264
Регистрация: 24.11.2012
Сообщений: 4,348
19.06.2014, 11:13 #14
Цитата Сообщение от Croessmah Посмотреть сообщение
ну попробуйте. Заодно будет повод создать еще одну тему с вопросом "А пачему не работает?"
UB - есть еще вариант, что всем будет расскзывать и показывать как оно работает. А на форумах параноики сидят, ниче не понимают.
0
Croessmah
Ушел
13764 / 8014 / 923
Регистрация: 27.09.2012
Сообщений: 19,724
Записей в блоге: 3
Завершенные тесты: 1
19.06.2014, 11:14 #15
Цитата Сообщение от 0x10 Посмотреть сообщение
UB - есть еще вариант, что всем будет расскзывать и показывать как оно работает.
ну так рано или поздно всё равно сломается и будет повод
0
19.06.2014, 11:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2014, 11:14
Привет! Вот еще темы с ответами:

Сделать добавление элемента в массив и удаление элемента из массива используя STL - C++
Всем привет. Помогите пожалуйста написать. Нужно использовать STL. Необходимо сделать добавление элемента в массив и удаление элемента из...

Изменение динамического массива на статический - C++
Помогите изменить динамический массив на статический #include &lt;iostream.h&gt; #include &lt;stdlib.h&gt; using namespace std; int main(int...

Переведите пожалуйста из динамического массива в статический - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; #include&lt;ctime&gt; #include&lt;iomanip&gt; using namespace std; int Sum (int**b, int nrow, int...

Переписать программу с динамического массива на статический - C++
Помогите,пожалуйста,переписать программу.Программа для решения матриц #include &lt;iostream&gt; using namespace std; int n, i, j, k; ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru