С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

25.04.2010, 18:22. Просмотров 1030. Ответов 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 минут
а так инициализировать контейнеры вообще можно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2010, 18:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как правильно проинициализировать массив вручную? (C++):

Как проинициализировать весь массив объектов? - C++
// lab7.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include &lt;string.h&gt; #include &lt;stdlib.h&gt; ...

Проинициализировать массив случайными символами от A до Z. - C++
Проинициализировать массив случайными символами от A до Z. Как это можно сделать?

Проинициализировать массив случайными символами от A до Z - C++
Здравствуйте!Я не могу понять,что тут не так..помогите разобраться! Задача: типа char размером в 4х11х3 элементов. Проинициализировать...

Проинициализировать массив во время компиляции - C++
Проблема с распаковкой параметр-пака.#include &lt;utility&gt; constexpr unsigned long long fact(int n) { unsigned long long res = 1;...

Опишите массив из 6-и строк, проинициализировать названиями стран - C++
Опишите массив из 6-и строк, проинициализировать названиями стран.

Объявить и проинициализировать массив из трех элементов типа Person - C++
Определен следующий тип-структура: char name ; int age; bool male; }; Объявить и проинициализировать массив из трех элементов...

5
rangerx
1937 / 1546 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
25.04.2010, 18:41 #2
а так инициализировать контейнеры вообще можно?
В новом стандарте будет можно(не совсем так естественно), в текущем нет.
1
PointsEqual
ниначмуроФ
837 / 521 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
25.04.2010, 19:10  [ТС] #3
а как мне проинициализировать массив тогда?
0
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,437
Завершенные тесты: 1
26.04.2010, 06:10 #4
В цикле каждый элемент.
0
PointsEqual
ниначмуроФ
837 / 521 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
26.04.2010, 08:49  [ТС] #5
Цитата Сообщение от kazak Посмотреть сообщение
В цикле каждый элемент
это вариант здесь не подходит, мне же надо определенными словами его заполнитиь
0
easybudda
Модератор
Эксперт CЭксперт С++
9700 / 5650 / 964
Регистрация: 25.07.2009
Сообщений: 10,873
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 минуты
Вот только может есть смысл его просто двухмерным массивом и оставить?
Динамический массив хорош в первую очередь тем, что может динамически менять размер. А когда не желательно менять не то, чтобы размер, но и содержимое, так лучше по-моему создать массив константных значений...
1
26.04.2010, 09:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2010, 09:13
Привет! Вот еще темы с ответами:

Как объявить массив на 5 элементов, вывести на экран, проинициализировать его и снова вывести на экран? - C++
как объявить массив на 5 элементов, вывести на экран, проинициализировать его и снова вывести на экран?

Как повторно проинициализировать переменную конструктором? - C++
Создал в классе переменную и проинициализировал ее в конструкторе. class A { int var; public: A() : var(0) ...

Как проинициализировать static поле класса? - C++
Добрый вечер. Как проинициализировать в конструкторе b() подобную переменную? В данном примере &quot;слишком много значений инициализатора&quot;. ...

Как проинициализировать структурную переменную в конструкторе класса? - C++
К примеру у меня есть переменная p типа POINT. Такую запись он считает нелегальной: private: POINT p; public: MyClass()...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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