LINUX.ORG.RU

Вопрос по STL


0

0

#include <iostream>
#include <vector>

using namespace std;

int main(int argc,char **argv)
{
	vector<vector<int> >a;
	for(int i=0;i<100;i++) {
		a.push_back(vector<int>(i));
		for(int j=0;j<i;j++)
			a[i].push_back(j);
	}
	for(int q=0;q<100;q++) {
		for(int p=0;p<q;p++)
			cout<<a[q][p]<<' ';
		cout<<endl;
	}
	cin.get();
	return 0;
}
Выводит все нули, а должен быть "лестничный" массив от p до q.
anonymous

- a.push_back(vector<int>(i));
+ a.push_back(vector<int>());

Selecter ★★★★
()

ты создаешь массив длины i, который инициализируется нулями, а потом добавляешь в конец (после i'го элемента)

либо не пиши размер как сказал Selecter либо в цикле пиши
a[i][j] = j;

Reset ★★★★★
()
Ответ на: комментарий от Reset

упс... стормозил, спасибо за ответы

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.