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

Затолкнуть в вектор aray - C++

Восстановить пароль Регистрация
 
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
28.03.2012, 21:10     Затолкнуть в вектор aray #1
C++
1
2
3
4
5
6
7
8
const int size=3;
    int aray[size][3]={{1,1,0},{1,1,-1},{1,0,-1}};
 
    vector <int[3]> s;
    for(int i=0;i<size;i++)
    {
    s.push_back(?) мне надо затолкнуть в вектор aray как это сделать? 
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2012, 21:10     Затолкнуть в вектор aray
Посмотрите здесь:

C++ Создать иерархию классов вектор(longint) и безопасный вектор с проверкой выхода за пределы
C++ Есть квадратная матрица А порядка n и вектор b с n элементами. Получить вектор Аb.
C++ Не хочет затолкнуть объект в List
C++ задан вектор С, который состоит из 12 действительных чисел. Сформировать вектор D, нечетные элементы которого есть целая часть нечетных
Считать вектор из файла, записать вектор в файл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
28.03.2012, 21:18     Затолкнуть в вектор aray #2
Цитата Сообщение от Van111 Посмотреть сообщение
мне надо затолкнуть в вектор aray как это сделать?
никак
для массива нужна обертка
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
29.03.2012, 11:24  [ТС]     Затолкнуть в вектор aray #3
Цитата Сообщение от Jupiter Посмотреть сообщение
нужна обертка
а можно конкретнее пожалуйста
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
29.03.2012, 11:28     Затолкнуть в вектор aray #4
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
#include <iostream>
#include <vector>
 
int main()
{
    const int SIZE = 3;
    int array[SIZE][3]={ {1,1,0}, {1,1,-1}, {1,0,-1} };
    
    std::vector< std::vector< int > > vec(SIZE, std::vector< int > (3) );
    for (int i = 0; i < SIZE; ++i)
        vec[i].assign( array[i], array[i] + 3 );
        
    
    //вывод
    for (int i = 0; i < SIZE; ++i)
    {
        for (int j = 0; j < 3; ++j)
        {
            std::cout << vec[i][j] << ' ';
        }
        
        std::cout << std::endl;
    } 
}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.03.2012, 12:24     Затолкнуть в вектор aray #5
Аль std::array.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
29.03.2012, 13:28  [ТС]     Затолкнуть в вектор aray #6
как удалить последовательность состоящих из трёх элементов(вектора)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 const int SIZE = 3;
    int array[SIZE][3]={ {1,1,0}, {1,1,-1}, {1,0,-1} };
    
    std::vector< std::vector< int > > vec(SIZE, std::vector< int > (3) );
    for (int i = 0; i < SIZE; ++i)
        vec[i].assign( array[i], array[i] + 3 );
        
    
    perebor(vec,SIZE);
    std::vector< std::vector< int > >:: iterator iter=vec.begin();
  
    vec.erase(iter[0]); /////////////////удалить вектор vec[0]
    
       for (int i = 0; i < SIZE; ++i)
        std::cout <<vec[i][0] <<' ' <<vec[i][1] <<' ' <<vec[i][2] <<std::endl;
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.03.2012, 13:30     Затолкнуть в вектор aray #7
Van111,
C++
1
vec.erase(iter);
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
29.03.2012, 13:34  [ТС]     Затолкнуть в вектор aray #8
ForEveR, а как удалить вектор(целых чисел) который находится в другом векторе
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.03.2012, 13:40     Затолкнуть в вектор aray #9
Van111, Эм... А это что делает по вашему?
C++
1
std::vector<std::vector<int> >::iterator iter = vec.begin();
Указывает на первый элемент вектора, где разыменованный итератор будет std::vector<int> =>
C++
1
vec.erase(iter);
удаляет первый элемент вектора, то есть будет удален первый std::vector<int>.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
29.03.2012, 13:47  [ТС]     Затолкнуть в вектор aray #10
Цитата Сообщение от ForEveR Посмотреть сообщение
А это что делает по вашему?
мне надо удалить три элемента int чтоб допустим из
{1,1,0}, {1,1,-1}, {1,0,-1}
получилось
{1,1,0}, {1,0,-1}
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.03.2012, 13:57     Затолкнуть в вектор aray #11
Я в шоке. Ну что ж вы такой непонятливый-то?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main()
{
   typedef std::vector<int> container_type;
   
   std::vector<container_type> vec = 
   {
      container_type({1,2,3}),
      container_type({3,4,5}),
      container_type({6,7,8})
   };
   std::vector<container_type>::iterator iter = vec.begin();
   vec.erase(iter);
   std::for_each(vec.begin(), vec.end(), [](const container_type& c)
   {
      std::copy(c.begin(), c.end(), std::ostream_iterator<int>(std::cout, " "));
      std::cout << std::endl;
   });
}
http://liveworkspace.org/code/5882f4...19e3527a490b70
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
29.03.2012, 14:33  [ТС]     Затолкнуть в вектор aray #12
компилятор выдаёт ошибки
expected primary-expression ( token
expected primary-expression { token



Цитата Сообщение от ForEveR Посмотреть сообщение
std::vector<container_type> vec =
* *{
* * * container_type({1,2,3}),
* * * container_type({3,4,5}),
* * * container_type({6,7,8})
* *};
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.03.2012, 14:43     Затолкнуть в вектор aray #13
Van111, Просто мне так было удобнее инициализировать. Пример удаления я показал.
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
29.03.2012, 15:49  [ТС]     Затолкнуть в вектор aray #14
всё разобрался

Добавлено через 30 минут
а как вот это кусок кода заменить
C++
1
2
 for (int i = 0; i < SIZE; ++i)
        vec[i].assign( array[i], array[i] + 3 );
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
29.03.2012, 16:06     Затолкнуть в вектор aray #15
Van111, Что значит заменить? На что заменить?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2012, 16:51     Затолкнуть в вектор aray
Еще ссылки по теме:

C++ Create an array of strings, find and delete duplicate lines and sort rows in the aray
C++ Вектор ссылок и вектор указателей
Вектор с неизвестным количеством чисел преобразовать в другой вектор, где числа будут стоять по возрастанию C++

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

Или воспользуйтесь поиском по форуму:
Van111
кодер с++
208 / 187 / 4
Регистрация: 03.08.2011
Сообщений: 2,585
Записей в блоге: 12
29.03.2012, 16:51  [ТС]     Затолкнуть в вектор aray #16
ForEveR, помогите пожалуйста реализовать
функцию вывода int_print
std::for_each(vec.begin(), vec.end(), int_print);

Добавлено через 14 минут
всё разобрался

Добавлено через 6 минут
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
int print(std::vector<int> qwe)
{
 
 std::cout << qwe[0];
 
}
 
int main()
{
   const int SIZE=3;
   int array[SIZE][3]={ {1,1,0} , {1,1,1} , {1,-1,-1} };
   std::vector<container_type> vec(SIZE,capacity);
   
   std::vector<container_type>::iterator iter = vec.begin();
  
   for (int i = 0; i < SIZE; ++i)
        for (int i2 = 0; i2 < capacity; ++i2)
             iter[i][i2]=array[i][i2];
    
      
  vec.erase(iter);
 
 
   std::for_each(vec.begin(), vec.end(), print);
  
 
 
    
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
как сделать так чтоб удалялось три вектора , а не по одному элементу с каждого вектора?

Добавлено через 5 минут
звените за высший дибилизм - разобрался
Yandex
Объявления
29.03.2012, 16:51     Затолкнуть в вектор aray
Ответ Создать тему
Опции темы

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