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

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

Войти
Регистрация
Восстановить пароль
 
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
#1

Как правильно проинициализировать массив вручную? - C++

25.04.2010, 18:22. Просмотров 986. Ответов 5
Метки нет (Все метки)

Здрасти.
как правильно проинициализировать массив в ручную? а то у меня ошибка main.cpp|60|error: expected primary-expression before '{' token|

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
std::string capitalDigit(int& number){
    const int ROWS=10;
    const int COLS=10;
    std::vector< std::vector<std::string> > digits(ROWS, std::vector<std::string>(COLS));
    digits[ROWS][COLS] = {
        {"qwe","erw","qwe","erw","qwe","erw","qwe","erw","qwe","erw"},
        {"qwe","erw","qwe","erw","qwe","erw","qwe","erw","qwe","erw"},
        {"qwe","erw","qwe","erw","qwe","erw","qwe","erw","qwe","erw"},
        {"qwe","erw","qwe","erw","qwe","erw","qwe","erw","qwe","erw"},
        {"qwe","erw","qwe","erw","qwe","erw","qwe","erw","qwe","erw"},
        {"qwe","erw","qwe","erw","qwe","erw","qwe","erw","qwe","erw"},
        {"qwe","erw","qwe","erw","qwe","erw","qwe","erw","qwe","erw"},
        {"qwe","erw","qwe","erw","qwe","erw","qwe","erw","qwe","erw"},
        {"qwe","erw","qwe","erw","qwe","erw","qwe","erw","qwe","erw"},
        {"qwe","erw","qwe","erw","qwe","erw","qwe","erw","qwe","erw"}
    };
 
}
Добавлено через 3 часа 37 минут
а так инициализировать контейнеры вообще можно?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2010, 18:22     Как правильно проинициализировать массив вручную?
Посмотрите здесь:

Объявить и проинициализировать массив из трех элементов типа Person C++
Проинициализировать массив случайными символами от A до Z. C++
Проинициализировать массив случайными символами от A до Z C++
Ввод вручную чисел в массив C++
C++ как правильно построить массив
C++ Как повторно проинициализировать переменную конструктором?
C++ Как проинициализировать весь массив объектов?
Как проинициализировать структурную переменную в конструкторе класса? C++
Пирамидальная сортировка. Вводить исходный массив вручную C++
C++ Как проинициализировать static поле класса?
C++ Как правильнее проинициализировать char's, чтобы не было мусора?
Опишите массив из 6-и строк, проинициализировать названиями стран C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1920 / 1529 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
25.04.2010, 18:41     Как правильно проинициализировать массив вручную? #2
а так инициализировать контейнеры вообще можно?
В новом стандарте будет можно(не совсем так естественно), в текущем нет.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
25.04.2010, 19:10  [ТС]     Как правильно проинициализировать массив вручную? #3
а как мне проинициализировать массив тогда?
kazak
 Аватар для kazak
3030 / 2351 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
26.04.2010, 06:10     Как правильно проинициализировать массив вручную? #4
В цикле каждый элемент.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
833 / 517 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
26.04.2010, 08:49  [ТС]     Как правильно проинициализировать массив вручную? #5
Цитата Сообщение от kazak Посмотреть сообщение
В цикле каждый элемент
это вариант здесь не подходит, мне же надо определенными словами его заполнитиь
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
26.04.2010, 09:13     Как правильно проинициализировать массив вручную? #6
PointsEqual, создай обыкновенный двухмерный массив, а потом его скопируй.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
...
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
...
char *arr[ROWS][COLS] = {
  { "bla", "bla", "bla" },
  { "bla", "bla", "bla" },
};
std::vector<std::vector<std::string> > vec(ROWS, std::vector<std::string> ());
for ( int i = 0; i < ROWS; ++i )
  std::copy(arr[i], arr[i] + COLS, std::inserter(vec[i], vec[i].begin()));
...
как-то так, не проверял...

Добавлено через 2 минуты
Вот только может есть смысл его просто двухмерным массивом и оставить?
Динамический массив хорош в первую очередь тем, что может динамически менять размер. А когда не желательно менять не то, чтобы размер, но и содержимое, так лучше по-моему создать массив константных значений...
Yandex
Объявления
26.04.2010, 09:13     Как правильно проинициализировать массив вручную?
Ответ Создать тему
Опции темы

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