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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
#1

массив bool и вектор) - C++

12.09.2013, 10:39. Просмотров 1199. Ответов 22
Метки нет (Все метки)

Ребята всем привет)
ситуация такая скоро сегодня понадобиться написать такую штуку
у нас есть куча bool там их 1000000 значений
bool *array = new bool[1000000];
.... тут мы их подсасываем из файла и как мне их ребята вставить в vector<bool> array_vector;
и хочу вставить не по одному типа добавляя а есть какой ни будь метод сразу же запулить их все разом???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2013, 10:39     массив bool и вектор)
Посмотрите здесь:

Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W - C++
Всем привет=) Помогите оформить правильно, фот наработка: for(int i = 0, j = 0, c = 0; i &lt; 20; i++) { if(x &lt; 0) { ...

Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W - C++
Помогите с задачками 1.Задан вектор X. Положительные числа переписать в массив Y, а отрицательные в массив W. 2.Определить, сколько...

Массив и вектор - C++
Не могу понят почему не работает данный код. Точнее оно работало правильно. Но перестал работать. Ввел малозначительные изменение перестал...

Вектор и Массив - C++
Уважаемые! Пошел на курсы учиться С++, но из за завала на работе пропустил много занятий и теперь проблемы с пониманием материала. Если...

Статический массив(вектор) - C++
Здравствуйте, очень нужна помощь. Сроки уже подходят к концу и нету времени разбираться, потому что еще много долгов, помогите пожалуйста с...

Вектор как массив - C++
Смешно конечно, но я именно массив (ну а точнее вектор создать не могу). Ошибка выскакивает только при запуске Цель, записать в вектор...

Копирование Массив в Вектор - C++
Читаю пример Википедии, там приведен пример, в котором элементы массива копируются в вектор. Для этого используется memcpy, но ниже...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
12.09.2013, 14:49  [ТС]     массив bool и вектор) #16
Секундочку SummerRain у нас массив) булов) их 1000000 как их вставить?

Добавлено через 1 минуту
у нас миллион массивов) по миллиону значений)

Добавлено через 20 секунд
у нас миллион массивов) по миллиону значений)

Добавлено через 1 минуту
нельзя же так прямо файл подать)
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
12.09.2013, 14:54     массив bool и вектор) #17
Ну тогда как-то так.
C++
1
2
3
4
5
std::copy(
        bit_array,
        bit_array + 1000000,
        std::back_inserter(myBitset)
    );
Может я не совсем понял то, что вам надо.
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
12.09.2013, 15:00  [ТС]     массив bool и вектор) #18
Цитата Сообщение от fatalis Посмотреть сообщение
А bitset не замеряли на скорость? Интересно бы сравнить
P.S А что это за задача с массивами 100000X100000?
самому интересно воспользоваться битсетом, но он мне как то не нравится, но я попробую протестирую, скажу сколько в памяти занимает и как по скорости себя ведёт, быстрей чаров то вряд ли будет. замерю вообще и отпишу сюда если кому интересно, а насчёт задачи то есть 1млн или 10млн объектов они скрещиваются и нужно записать в матрицу состояние, подходит или не подходит скрещивание. Делается несколько дней всё это дело. гонял Xeon Phi на этой задачи, не сильно конечно пока быстрые у интела аппараты.

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    int size_array = 2000;
    bool *array_ku = new bool[size_array];
 
    std::vector<std::bitset<100000> > aaa;
 
    std::copy(
        array_ku,
        array_ku + size_array,
        std::back_inserter(aaa)
        );
 
    cout << aaa.size() << endl;
 
    for (int i = 0; i < aaa.size(); i++ )
    {
        cout << "I: "<<i <<" "<< aaa[i][0] << endl;
    }
так вот получается двумерный массив первое измерение 2000 а второе 100000;
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
12.09.2013, 15:03     массив bool и вектор) #19
Цитата Сообщение от Ko Посмотреть сообщение
есть 1млн или 10млн объектов они скрещиваются и нужно записать в матрицу состояние, подходит или не подходит скрещивание
Может для этого стоит использовать разряжённые матрицы? Наверняка скрещивание происходит гораздо реже.
Поэтому с помощью этих матриц можно существенно сократить затраты по памяти и времени.
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
12.09.2013, 15:08  [ТС]     массив bool и вектор) #20
короче ребята) останавливаемся на vector <bool> )

Добавлено через 2 минуты
Цитата Сообщение от SummerRain Посмотреть сообщение
Может для этого стоит использовать разряжённые матрицы? Наверняка скрещивание происходит гораздо реже.
Поэтому с помощью этих матриц можно существенно сократить затраты по памяти и времени.
всё со всеми скрещивается) разряженные и не разряженные) всё это перебрал за 2 года, это не проблема что много памяти требуется, в принцепе можно использовать GPU но актуально только использовать последнии линейки кеплера они будут опережать расчёты если не будет громадной матрицы, кстати без матрицы тоже можно работать только скорость упадёт в 3 раза. к сожалению. спасибо.

Добавлено через 49 секунд
всё что требовалось мы добились, всем спасибо) пора подкрепиться)))))
SummerRain
326 / 325 / 17
Регистрация: 16.12.2012
Сообщений: 544
12.09.2013, 15:14     массив bool и вектор) #21
Да нет, говорите у вас 1 млн объектов (интересно что за объекты?).
И я предполагаю, что вероятность скрещивания этих объектов гораздо меньше вероятности их НЕ скрещивания.
(Или даже наоборот).
Так вот, если это так, то можно оптимизировать вашу систему, используя разряжённые матрицы.
Ko
-65 / 5 / 0
Регистрация: 23.12.2011
Сообщений: 246
12.09.2013, 20:44  [ТС]     массив bool и вектор) #22
я тоже думал что можно, допустим предположим у меня просто массив 10000000 bool. я проанализировал данные и выявил что в результате конечном нулей в 50 раз больше, следовательно я пробывал делать сигментное заполнение а именно 1-54 656-756 и так далее где буллы у меня true, применив такую технику скорость сократилась где то на 50%, размер памяти где то в 9-10 раз уменьшился, а толку? vector <bool> пока лидирует))) я сейчас переписываю полностью всю программу для обычных процессоров, может в течении следующего года что и придумаю интересное для матриц, если есть книги интересные пожалуйста порекомендуйте, я прочту

Добавлено через 29 минут
Цитата Сообщение от SummerRain Посмотреть сообщение
Да нет, говорите у вас 1 млн объектов (интересно что за объекты?).
И я предполагаю, что вероятность скрещивания этих объектов гораздо меньше вероятности их НЕ скрещивания.
(Или даже наоборот).
Так вот, если это так, то можно оптимизировать вашу систему, используя разряжённые матрицы.
у меня 1000000 буллов)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2013, 12:47     массив bool и вектор)
Еще ссылки по теме:

Закрутить массив в вектор - C++
На паре задали задачу: Закрутить массив в вектор. Написал вот такое решение: Вопрос можно ли как то оптимизировать? ...

Массив: считать строки в вектор - C++
вот моя попытка сделать, но во время выполнения вылетает ошибка #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; using...

Функция не видит массив и вектор - C++
Подскажите почему функция не видит вектор phone_book #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; using namespace std; ...

Двумерный массив через вектор - C++
Задача состоит в том, что надо создать массив строк через вектор, т.е. я хочу иметь возмость изменять как количество строк, так и их длину.

ООП Одномерный массив - вектор - C++
Добрый день, помогите пожалуйста с написанием программы Задача следующая Одномерный массив - вектор Вещественный массив...


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

Или воспользуйтесь поиском по форуму:
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
13.09.2013, 12:47     массив bool и вектор) #23
Цитата Сообщение от Ko Посмотреть сообщение
я тоже думал что можно, допустим предположим у меня просто массив 10000000 bool. я проанализировал данные и выявил что в результате конечном нулей в 50 раз больше, следовательно я пробывал делать сигментное заполнение а именно 1-54 656-756 и так далее где буллы у меня true, применив такую технику скорость сократилась где то на 50%, размер памяти где то в 9-10 раз уменьшился, а толку? vector <bool> пока лидирует))) я сейчас переписываю полностью всю программу для обычных процессоров, может в течении следующего года что и придумаю интересное для матриц, если есть книги интересные пожалуйста порекомендуйте, я прочту

Добавлено через 29 минут


у меня 1000000 буллов)
Размер массива статический? std::array попробуй еще.
Yandex
Объявления
13.09.2013, 12:47     массив bool и вектор)
Ответ Создать тему
Опции темы

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