2015-01-11 55 views
-1

問題是,當我嘗試顯示這個數組時,它返回每個組件的內存方向。非常感謝,如果有人回答,我很抱歉,但我找不到它。
EDITED顯示一個數組結構C++

#include <stdio.h> 
    #include <fstream> 
    using namespace std; 
    struct tabla{ 
     int Ar[9][9]; 
    }; 
    void print(){ 
     tabla matrix[9][9]={{1,2,3,4,5,6,7,8,9}, 
     {9,8,7,4,5,6,1,2,3}, 
     {7,3,2,1,5,6,4,8,9}, 
     {9,5,1,7,5,3,4,8,6}, 
     {7,4,1,8,5,2,9,6,3}, 
     {3,6,9,2,5,8,7,8,4}, 
     {0,1,4,7,2,5,8,8,7}, 
     {0,0,1,0,0,0,0,0,0}, 
     {1,1,1,1,1,1,1,1,1}}; 

     for(int i=0;i<9;i++){ 
      for(int j=0;j<9;j++){ 
       cout<<matrix[i][j].Ar<<' '; 
      } 
      cout<<endl; 
     } 
    } ` 

    int main(){ 

     print(); 
     } 

我試着寫(因爲從來就閱讀在很多地方,這是由於指針)
COUT < < **新[i] [j] .Ar < <' ;哪些工作,但只爲每個「向量」的第一個組件打印零後。

+0

'new'是C++中的關鍵字。 –

+0

請顯示真實的代碼,清理並減少到證明問題所需的最小數量。 –

+0

您需要一個類似的循環來處理數組中每個Array的實例,作爲Array所使用的數組。如果你在'k'和'l'上循環,他們被稱爲'some_other_name_than_new [i] [j] .Ar [k] [l]'。 – molbdnilo

回答

1

我認爲你的意思是爲以下

#include <iostream> 

struct Array 
{ 
    const static size_t N = 9; 
    int Ar[N][N]; 
}; 

void print() 
{ 
    Array *a = new Array 
    { 
     { 
      {1,2,3,4,5,6,7,8,9}, 
      {9,8,7,4,5,6,1,2,3}, 
      {7,3,2,1,5,6,4,8,9}, 
      {9,5,1,7,5,3,4,8,6}, 
      {7,4,1,8,5,2,9,6,3}, 
      {3,6,9,2,5,8,7,8,4}, 
      {0,1,4,7,2,5,8,8,7}, 
      {0,0,1,0,0,0,0,0,0}, 
      {1,1,1,1,1,1,1,1,1} 
     } 
    }; 

    for (size_t i = 0; i < Array::N; i++) 
    { 
     for (size_t j = 0; j < Array::N; j++) 
     { 
      std::cout << (*a).Ar[i][j] <<' '; 
     } 
     std::cout<< std::endl; 
    } 

    delete a; 
} 


int main() 
{ 
    print(); 
} 

輸出

1 2 3 4 5 6 7 8 9 
9 8 7 4 5 6 1 2 3 
7 3 2 1 5 6 4 8 9 
9 5 1 7 5 3 4 8 6 
7 4 1 8 5 2 9 6 3 
3 6 9 2 5 8 7 8 4 
0 1 4 7 2 5 8 8 7 
0 0 1 0 0 0 0 0 0 
1 1 1 1 1 1 1 1 1 

考慮到,你可以使用智能指針std::unique_ptr內部功能打印。

+0

非常感謝 –

-1

您正在使用名稱new作爲變量名,這會使您的代碼與您所期望的行爲完全不同。 使用別的東西。此外,Array已在std::中存在,所以這也是一個非常糟糕的選擇。

+0

呃不,試圖用'new'作爲標識符會導致編譯器錯誤。 –

+0

@CaptainObvlious,確切地說。這裏的要點是,這個東西有太多的錯誤,不可能是OP首先編譯的那個。 –

+0

downvoter:請評論! –