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

динамический массив (Целое число разложить на массив простых множителей) - C++

Восстановить пароль Регистрация
 
C/man
 Аватар для C/man
3 / 3 / 0
Регистрация: 29.05.2012
Сообщений: 44
22.11.2012, 09:30     динамический массив (Целое число разложить на массив простых множителей) #1
Доброго времени суток всем.
Целое число необходимо разложить на массив простых множителей. Столкнулся с проблемой, мне нужно, чтобы память под массив выделялась динамически, так вот подскажите как объявить динамический одномерный массив неизвестной длины. Например, я нахожу множитель и заношу его в массив, при этом длина массива увеличивается на один элемент.



на форуме нашел вот такой кусок кода, в тему, не в тему, не знаю

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//создаем доролнительный массив 
int *temp;
temp = new int [n];// на кол-во элементов в массиве с данными
//далее копируем все данные из массива op в массив temp
for(int i=0;i<n;i++)
{
   temp[i] = op[i];
}
//удаляем массив ор и создаем заново но на один элемент больше
delete [] op;
op = new int[n+1];
//и копируем данные обратно
for(int i=0;i<n;i++)
{
    op[i]=temp[i];
}
 op[n] = // добавляем элемент в конец
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2012, 09:30     динамический массив (Целое число разложить на массив простых множителей)
Посмотрите здесь:

C++ Разложить число на простые множители через массив
C++ Дан массив A размера N и целое число
Ребята обьясните пожалуйста в C++ задано целое число нужно сформировать массив ПРОСТЫХ чисел не превышающих заданное C++
54. Сформировать массив простых чисел, не превышающих заданное натуральное число N C++
C++ Объединить массив байт в целое число в с++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11811 / 6790 / 767
Регистрация: 27.09.2012
Сообщений: 16,840
Записей в блоге: 2
Завершенные тесты: 1
22.11.2012, 09:44     динамический массив (Целое число разложить на массив простых множителей) #2
Цитата Сообщение от C/man Посмотреть сообщение
как объявить динамический одномерный массив неизвестной длины.
Вы сами поняли, что написали?
Цитата Сообщение от C/man Посмотреть сообщение
Например, я нахожу множитель и заношу его в массив, при этом длина массива увеличивается на один элемент.
Пере выделять память, а лучше выделить заранее побольше.
или используйте класс STL std::vector
C/man
 Аватар для C/man
3 / 3 / 0
Регистрация: 29.05.2012
Сообщений: 44
22.11.2012, 13:10  [ТС]     динамический массив (Целое число разложить на массив простых множителей) #3
Цитата Сообщение от Croessmah Посмотреть сообщение
Вы сами поняли, что написали?
я не силен в C, но вроде понимаю.
как мне использовать массив, конечная длина которого неизвестна, т.е. пусть, например, у меня есть массив из 10 элементов, мне нужно, чтобы он стал состоять из 11 и я добавил в него еще один элемент. возможно ли такое реализовать?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
22.11.2012, 13:16     динамический массив (Целое число разложить на массив простых множителей) #4
Цитата Сообщение от Croessmah Посмотреть сообщение
Вы сами поняли, что написали?
А ты разве нет?

Добавлено через 48 секунд
Цитата Сообщение от C/man Посмотреть сообщение
как мне использовать массив, конечная длина которого неизвестна, т.е. пусть, например, у меня есть массив из 10 элементов, мне нужно, чтобы он стал состоять из 11 и я добавил в него еще один элемент. возможно ли такое реализовать?
именно динамическим массивом это и делается. И си здесь не причём, термин не специфичен для языка.
Yandex
Объявления
22.11.2012, 13:16     динамический массив (Целое число разложить на массив простых множителей)
Ответ Создать тему
Опции темы

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