Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / игра с vector < vector .. как? / 10 сообщений из 10, страница 1 из 1
29.11.2007, 16:19:53
    #34975614
BagaBaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
игра с vector < vector .. как?
Пусть есть
int i=10, j =20;

Тогда
vector <int> v(i)
vector < vector<int> > v
vector < vector<int> > v(i)

работают

а

vector < vector<int>(j) > v(i)

нет.
Вопрос: как указать обе размерности? (т.е. заставить работать последнюю строчку)
...
Рейтинг: 0 / 0
29.11.2007, 16:29:28
    #34975652
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
игра с vector < vector .. как?
BagaBagaВопрос: как указать обе размерности?

Вектор параметризуется типом. Тип вектора имеет произвольное количество элементов. Следовательно, указать обе размерности нельзя.

Более того, vector<vector<> > не обязан быть матрицей, т.е. столбцы в каждом ряде могут иметь независимое количество значений.
...
Рейтинг: 0 / 0
29.11.2007, 18:18:55
    #34976141
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
игра с vector < vector .. как?
BagaBagaПусть есть
int i=10, j =20;

Тогда
vector <int> v(i)
vector < vector<int> > v
vector < vector<int> > v(i)

работают

а

vector < vector<int>(j) > v(i)

нет.
Вопрос: как указать обе размерности? (т.е. заставить работать последнюю строчку)

Вы были на шаг от цели. Все очень просто:

Код: plaintext
1.
2.
3.
std::vector<std::vector<int> > v(i, std::vector<int>(j,  0 ));
for(size_t ii =  0 ; ii < i; ii++)
    for(size_t jj =  0 ; jj < j; jj++)
        assert(v[i][j] ==  0 );
...
Рейтинг: 0 / 0
29.11.2007, 18:19:37
    #34976146
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
игра с vector < vector .. как?
assert(v [j] == 0);
заменить на
assert(v[ii][jj] == 0);
...
Рейтинг: 0 / 0
30.11.2007, 18:04:19
    #34979015
BagaBaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
игра с vector < vector .. как?
Анатолий Широков
Вы были на шаг от цели. Все очень просто:


Хотелось обойтись без циклов. Но спасибо.
...
Рейтинг: 0 / 0
30.11.2007, 18:10:37
    #34979036
BagaBaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
игра с vector < vector .. как?
В том смысле, разве не будет порождено ислючение? (Ведь ассертом вы проверяете фактическое выделение памяти).
...
Рейтинг: 0 / 0
30.11.2007, 19:19:09
    #34979161
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
игра с vector < vector .. как?
Исключения не должно быть никогда.... Если память не выделена ошибка будет в строчке, прсто он демонстрирует что данные проинициализированы 0
...
Рейтинг: 0 / 0
30.11.2007, 22:07:57
    #34979312
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
игра с vector < vector .. как?
BagaBaga Анатолий Широков
Вы были на шаг от цели. Все очень просто:


Хотелось обойтись без циклов. Но спасибо.

Я продемонстрировал, как вы с этой матрицей будете работать.
...
Рейтинг: 0 / 0
01.12.2007, 01:45:29
    #34979442
Leshij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
игра с vector < vector .. как?
On Thu, 29 Nov 2007 16:19:53 +0300, BagaBaga <nospam@sql.ru>; wrote:

> Вопрос: как указать обе размерности? (т.е. заставить работать последнюю
> строчку)

У вектора есть конструктор, принимающий число элементов и значение, к-ое
будет присвоено каждому элементу.

vector(
size_type _Count,
const Type& _Val
);

То есть будет что-то типа

vector<vector<int> > v(n, vector<int>(m) )
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
01.12.2007, 14:50:19
    #34979703
BagaBaga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
игра с vector < vector .. как?
Анатолий Широков

Я продемонстрировал, как вы с этой матрицей будете работать.

Я это понял. Но успел до этого отправить пост (так что извиняюсь).

>>Leshij
Спасибо.
Всем спасибо.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / игра с vector < vector .. как? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]