Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
1 / 0 / 0
Регистрация: 07.10.2018
Сообщений: 46

Преобразование из вектора в массив

12.11.2018, 23:41. Показов 6257. Ответов 7

Студворк — интернет-сервис помощи студентам
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
std::vector<long> create_vector(string adressOfFile, int countOfElem, vector<long> v) {
    string chitanChiclo;
    //считываем данные с файла в массив
    ifstream MinRand(adressOfFile, ios_base::in);
 
    if (!MinRand.is_open())   std::cout << "Ошибка открытия файла\n";
 
 
    for (int y = 0; y < countOfElem; y++) {
          chitanChiclo = "";
          getline(MinRand, chitanChiclo);
              int value = atoi(chitanChiclo.c_str());
          v.push_back(value);
         }
 
    return v;
}
 
 
 
int main()
{
    int sizeArr = 1;
 
    vector<long> vecLong;
    long *array = new long[sizeArr];
    
//...
case 1:
{
        vecLong = create_vector("D:\\C++\\ZapicToFile\\RandNabor.txt", 10, vecLong);
 
    cout << "Pазмер вектора " << vecLong.size() << "\n";
    sizeArr = vecLong.size();
    cout << "Pазмер массива" << sizeArr << "\n";
 
    std::copy(vecLong.begin(), vecLong.end(), array);
 
    bubbleSort(array, sizeArr);
}
Вопрос в следующем. Если не выводить строки cout << "Pазмер вектора " << vecLong.size() << "\n"; и cout << "Pазмер массива" << sizeArr << "\n"; то вызывается исключение. Как эти строки вообще влияют на работу программы и почему с ними всё в порядке и программа работает. Исключение вида: сработала точка останова. Больше ничего, выскакивает wntdll не загружен
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.11.2018, 23:41
Ответы с готовыми решениями:

Массив: Вычесть из каждого элемента действительного вектора C(c1,c2,..,c9) среднее арифметическое вектора.
Помогите решить, не знаю с чего начать: 1. Вычесть из каждого элемента действительного вектора C(c1,c2,..,c9) среднее арифметическое ...

Преобразование вектора в матрицу
Здравствуйте! Не нашел, к сожалению, ответа на свой вопрос на форуме. Вопрос вот в чем: Как преобразовать вектор в матрицу вида: ...

Преобразование вектора в матрицу
Дня доброго, форумчане! Стоит задача преобразовать вектор N чисел в матрицу (N/4;4). Функция B = reshape(A, m, n) не подходит по...

7
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
12.11.2018, 23:48
Mari_mar, что-то твой array маловат...
0
1 / 0 / 0
Регистрация: 07.10.2018
Сообщений: 46
12.11.2018, 23:53  [ТС]
Добавлено через 2 минуты
Размер массива устанавливаю равным размеру вектора в строке
C++
1
sizeArr = vecLong.size();
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
13.11.2018, 13:05
Цитата Сообщение от Mari_mar Посмотреть сообщение
Размер массива устанавливаю равным размеру вектора в строке
Поздно только. Память-то вы уже выделили.

Добавлено через 2 минуты
PS
Mari_mar, может вам не надо ничего преобразовывать вообще? Сортируйте сразу вектор.
0
1 / 0 / 0
Регистрация: 07.10.2018
Сообщений: 46
13.11.2018, 20:22  [ТС]
Это динамический массив. Вектор долго по времени, а мне производительность нужна
0
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
13.11.2018, 21:25
Цитата Сообщение от Mari_mar Посмотреть сообщение
Это динамический массив. Вектор долго по времени, а мне производительность нужна
Объясни, непонятно.
0
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
13.11.2018, 21:39
Цитата Сообщение от Mari_mar Посмотреть сообщение
Это динамический массив.
Мне кажется вы что-то в книге не дочитали. От того, что вы изменили переменную sizeArr, размер массива не поменяется.

Цитата Сообщение от Mari_mar Посмотреть сообщение
Вектор долго по времени, а мне производительность нужна
Вот это новости. Т.е. выделять еще массив (даже если закрыть глаза на то, что вы это сделали неправильно), копировать туда данные - это "не медленно", а сразу вектор осортировать - медленно?

Почему бы вам вот так не сделать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main()
{
    vector<long> vecLong;
    
//...
case 1:
{
        vecLong = create_vector("D:\\C++\\ZapicToFile\\RandNabor.txt", 10, vecLong);
 
        cout << "Pазмер вектора " << vecLong.size() << "\n";
 
        bubbleSort(&vecLong[0] /* или vecLong.data() */, vecLong.size());
//....
}
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,532
Записей в блоге: 1
13.11.2018, 21:51
Цитата Сообщение от Mari_mar Посмотреть сообщение
Это динамический массив. Вектор долго по времени, а мне производительность нужна
ржунемогу. Это говорит человек, который туда-сюда передаёт в функцию-из функции вектора не по ссылке.... (о том, что любит покопировать туда-сюда массив в вектор тоже сказано уже)
Зато создатели STL у него душат производительность, да...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2018, 21:51
Помогаю со студенческими работами здесь

Преобразование фи задано координатами образа вектора
Приветствую вас форумчане! Попалось вот такое интересное задание, ни разу с таким не сталкивалась. Давайте разберем, одна справиться не...

Преобразование вектора времени в числовые значения
Здравствуйте. Я совсем новичок в программировании, помогите разобраться с задачей. В общем имеется матрица данных, более 50000 строк....

Преобразование элемента целочисленного вектора в строку
Всем привет. Как можно преобразовать элемент целочисленного вектора в строку? Необходимо сравнить вектор строк с целочисленным вектором....

Преобразование вектора в вектор (убираем лишние значения)
Здравствуйте, помогите найти ошибку. необходимо из одного вектора сделать другой, НО убрать все значения, которые отличаются на единицу от...

Преобразование координат вектора при смене базиса
Непонятно, почему при переходе от старого базиса к новому и обратно матрицы используются такие, какие используются. Например, вот задача: ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru