2014-09-21 104 views
0

我有4個大小爲3的數組。在我的代碼中,我生成了一些我放入這些數組的值。我想將這些保存在輸出文件中。使用一維字符串數組分配一個2D雙數組,每個字符串指向另一個一維數組的雙精度數組

這種實現最優雅和最好的做法是什麼?我使用雙數組來存儲它們,並使用for循環來遍歷2D數組並保存它們,但我不喜歡這種方法。

我喜歡把所有arr1,arr2,arr3,arr4放在一個字符串數組中,並循環遍歷數組獲取字符串,這指的是具有三個值的雙數組。希望我沒有使這個混淆。 這是我做過什麼......

double arr1[3], arr2[3], arr3[3], arr4[3]; 

//Omitted code that generates content of arrays 

double coordinates[4][3] = {{arr1[0], arr1[1], arr1[2]}, 
          {arr2[0], arr2[1], arr2[2]}, 
          {arr3[0], arr3[1], arr3[2]}, 
          {arr4[0], arr4[1], arr4[2]}}; 

for(int i = 0; i<4; i++) 
    { 
     for(int j = 0; j<3; j++) 
     { 
     output << coordinates[i][j]; //writing ith character of array in the file 
     if(j<2) 
      output<<",";//separate coordinates by a comma 
     else 
      output<<"\n"; 
    } 
} 

此外,如何在這種情況下引導?我從來沒有用過它們,所以我不太熟悉它們。 謝謝。

+0

鞋'result1'的定義等 – 2014-09-21 23:28:41

+0

有一個錯字。現在怎麼樣? – Salchem 2014-09-21 23:33:10

+0

創建一個具有數組指針和維數的打印函數? – 2014-09-21 23:59:15

回答

0

std::array是優選的構造。這是你可以如何使用它:

#include <iostream> 
#include <array> 
int main() 
{ 
    std::array<int, 3> arr1, arr2, arr3, arr4; 
    std::array<std::array<int, 3>, 4> coordinates{{arr1, arr2, arr3, arr4}}; 
} 
+0

好的,但我使用Xcode,並沒有該標題。 Xcode對C++ 11沒有太多的支持,所以你怎麼看? – Salchem 2014-09-22 00:31:30

+0

@Salchem'雙座標[4] [3] = {arr1,arr2,arr3,arr4}' – 0x499602D2 2014-09-22 00:33:29

+0

好的。這給了我一個錯誤:無法在初始化時將'double *'轉換爲'double' – Salchem 2014-09-22 00:39:18

相關問題