亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據輸入的動態二維數組

根據輸入的動態二維數組

C++
米琪卡哇伊 2019-08-19 17:15:03
根據輸入的動態二維數組我需要從用戶獲得輸入N并生成N * N矩陣。我該如何申報矩陣?一般來說,數組和矩陣的大小應該在聲明中固定,對吧?怎么樣vector<vector<int>>?我從來沒有使用過這個,所以我需要老兵的建議。
查看完整描述

3 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

Boost在其uBLAS庫中實現矩陣(支持數學運算),并提供如下的使用語法。

#include <boost/numeric/ublas/matrix.hpp>int main(int argc, char* argv[]){
    unsigned int N = atoi(argv[1]);
    boost::matrix<int> myMatrix(N, N);

    for (unsigned i = 0; i < myMatrix.size1 (); ++i)
        for (unsigned j = 0; j < myMatrix.size2 (); ++j)
            myMatrix(i, j) = 3 * i + j;

    return 0;}


查看完整回答
反對 回復 2019-08-19
?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

示例代碼:

template<class T>class Array2D{public:
    Array2D(int a, int b)  
    {
        num1 = (T**)new int [a*sizeof(int*)];
        for(int i = 0; i < a; i++)
            num1[i] = new int [b*sizeof(int)];

        for (int i = 0; i < a; i++) {
            for (int j = 0; j < b; j++) {
                num1[i][j] = i*j;
            }
        }
    }
    class Array1D
    {
    public:
        Array1D(int* a):temp(a) {}
        T& operator[](int a)
        {
            return temp[a];
        }
        T* temp;
    };

    T** num1;
    Array1D operator[] (int a)
    {
        return Array1D(num1[a]);
    }};int _tmain(int argc, _TCHAR* argv[]){
    Array2D<int> arr(20, 30);

    std::cout << arr[2][3];
    getchar();
    return 0;}

    enter code here


查看完整回答
反對 回復 2019-08-19
  • 3 回答
  • 0 關注
  • 558 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號