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

Вопрос про заполнение Vector - а - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Подскажите открытый проект на c++ http://www.cyberforum.ru/cpp-beginners/thread112805.html
Подскажите проект на C++ с открытыми исходными кодами, как сказать для изучения.
C++ Вычислить сумму всех элементов массива превышающих число B Дан одномерный массив чисел {Ci} i...12. Вычислить сумму всех элементов массива превышающих число B.Поменяйте местами максимальный и минимальный элементы массива. В произвольном тексте из 8-ми предложений подсчитать сколько раз встречается союз и(или) и заменить его на символ "*" лабки в понедельник сдавать а я понятия не имею как их делать http://www.cyberforum.ru/cpp-beginners/thread112224.html
C++ Надо написать прогу на вычесление этого
min f (X) = 30X + 30X + 45X 1 2 3 при 0.06Х1 + 0.04Х2 + 0.02Х3 ≤ 0.03 2Х1 + 4Х2 + 3Х3 ≤ 3.25 Х1 + Х2 + Х3 = 1 Х1,2,3 ≥ 0. Вот это надо что бы решалось симпликс методом. Вообще не понимаю как реализовать это... если не сложно с обьяснениями что делает что
C++ Чтение текстового файла и сортировка несколькими алгоритмами
Дорогие программисты, Мне задали домашку про сортировочные алгоритмы. Я уже написал алгоритмы, но из-за того что мало знаком с С++, не знаю как поместить в массив слова из текстового файла, и не могу определить куда эти алгоритмы надо всатвить, , т.е. после чего надо начинать сортировку. Теперь по подробнее о задачке: Скажем есть файл 123.txt надо чтоб программа прочитала все слова...
C++ Fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка http://www.cyberforum.ru/cpp-beginners/thread111808.html
fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "stdafx.h"" в источник.
C++ Деревья(обьясните) помогите разобраться с деревьями (с построением и работой над ними) ПЛЗ гарю!!!!!! подробнее

Показать сообщение отдельно
vet
 Аватар для vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
05.04.2010, 11:00     Вопрос про заполнение Vector - а
Доброго всем времени суток.
Вопрос следующий
есть vector mxyz размерностью 26873856 = 5184*5184 = 72*72*36*48*3
надо после каждого mxyz[i+5183] вставить элемент из другого вектора grace (размерностью 5184), т.е. если это записать через двумерный массив то требуется из mxyz[5184][5184] сделать mxyz[5184][5185]
Не могу понять куда трубуется вставить еще один push_back(), (и как он должен выглядеть ) чтобы это сделать
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
int z0=0,x2,y2,z2;
n = 5184;
for( int y0=0; y0<(int)sqrt(grace.size()); y0++)
    {
         for(int x0=0; x0<(int)sqrt(grace.size()); x0++)
         {
                 if((x0-(int)sqrt(grace.size())/2)*
                 (x0-(int)sqrt(grace.size())/2)+
                 (y0-(int)sqrt(grace.size())/2)*
                 (y0-(int)sqrt(grace.size())/2)<=
                 (int)sqrt(grace.size())*(int)sqrt(grace.size())/2 )
                 {
                  for( int y1=1; y1<=36; y1++)
                       {
                           for(int x1=1; x1<=48; x1++)
                           {     
                           x2=x1-x0; y2=y1-y0; z2=z1-z0;
                           mxyz.push_back((cmxi(x2,y2,z2));
                           mxyz.push_back((cmyi(x2,y2,z2));
                           mxyz.push_back((cmzi(x2,y2,z2));
                           }
                       }                       
                  } 
           }
     }
Пробовал через insert(), но очень долго и глючит из-за размеров вектора поэтому требуется через push_back
C++
1
2
3
4
5
6
7
8
9
10
  vector<double>::iterator it;
    it = mxyz.begin();
    //it += 5183;
   
     for(int i=0;i<n;i++)
     {
    it += 5183+i;
    mxyz.insert ( it ,grace[i]);
     
     }
Заранее спасибо

Добавлено через 33 минуты
sqrt(grace.size()) = 72

Добавлено через 6 минут
Если поможет, то можно поменять порядок циклов for на:

C++
1
2
3
4
5
6
7
8
9
10
11
12
 for( int y1=1; y1<=36; y1++)
                       {
                           for(int x1=1; x1<=48; x1++)
                          {     
 
                 if()......
                    {
                 for( int y0=0; y0<(int)sqrt(grace.size()); y0++)
                   {
                       for(int x0=0; x0<(int)sqrt(grace.size()); x0++)
                            {
mxyz.push_back......
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru