|
|
|
STL matrix or vector of vectors
|
|||
|---|---|---|---|
|
#18+
У меня есть маленькая матрица векторов укзателей на int размером 3:4. Вопрос : как мне инициализировать, вернее обратиться к елементу матрицы например 1:2 ? В обычном двумерном масиве это было бы просто а[1][2]. ---------------- //test.cpp #include<iostream> #include<vector> using namespace std; typedef vector<int *> vInt; typedef vector<vInt *> vvInt; int main() { int i,j; cout << "matrix:" << endl; vvInt a; a.reserve(3); for( i=0; i<3; i++) { vInt *b=new vInt; b->reserve(4); for( j=0; j<4; j++) { b->push_back(NULL); } a.push_back(b); } //int *pval; //pval=new int; //*pval=5; //a[1][2]=pval; vvInt::iterator ivv; vInt::iterator iv; for( ivv=a.begin(); ivv!=a.end(); ivv++) { for( iv=(*ivv)->begin(); iv!=(*ivv)->end(); iv++) { if( *iv) cout << " " << *(*iv); else cout << " " << "**"; } cout << endl; } return 0; } ---------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2005, 15:00 |
|
||
|
STL matrix or vector of vectors
|
|||
|---|---|---|---|
|
#18+
HoshkoУ меня есть маленькая матрица векторов укзателей на int размером 3:4. Вопрос : как мне инициализировать, вернее обратиться к елементу матрицы например 1:2 ? В обычном двумерном масиве это было бы просто а[1][2]. ---------------- //test.cpp #include<iostream> #include<vector> using namespace std; typedef vector<int *> vInt; typedef vector<vInt *> vvInt; int main() { int i,j; cout << "matrix:" << endl; vvInt a; a.reserve(3); for( i=0; i<3; i++) { vInt *b=new vInt; b->reserve(4); for( j=0; j<4; j++) { b->push_back(NULL); } a.push_back(b); } //int *pval; //pval=new int; //*pval=5; //a[1][2]=pval; vvInt::iterator ivv; vInt::iterator iv; for( ivv=a.begin(); ivv!=a.end(); ivv++) { for( iv=(*ivv)->begin(); iv!=(*ivv)->end(); iv++) { if( *iv) cout << " " << *(*iv); else cout << " " << "**"; } cout << endl; } return 0; } ---------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2005, 15:22 |
|
||
|
STL matrix or vector of vectors
|
|||
|---|---|---|---|
|
#18+
понял, (*a[1])[2]=pval; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2005, 15:45 |
|
||
|
STL matrix or vector of vectors
|
|||
|---|---|---|---|
|
#18+
Можно очень легко обойтить и без оперирования голыми указателями: Код: plaintext 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. Дерзайте и удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2005, 18:04 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33113649&tid=2031076]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
139ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 459ms |

| 0 / 0 |
