2012-12-02 76 views
-1

第一次使用二維數組作爲我的大學項目。c使用多維數組

即時通訊如何將用戶輸入值放入數組中的特定插槽掙扎。

我所擁有的是。

cout << "Enter Number of Groups" << endl; 
cin >> DefinedGroups; 

int user_groups[definedgroups] [2] 

while (havent worked out the condition yet) 
{ 
cout << " Enter Lower Range " << endl; 
cin >> Lrange; 
cout << " Enter Higher Range " << endl; 
cin >> Hrange; 
} 

誰知道如何可以在像0,1和1,1輸入從Lrange和Hrange值到陣列,然後通過遞增1的definedgroup各一次。謝謝

回答

2

首先,你的代碼使用可變長度數組,這是一個GCC擴展。這意味着你的代碼不可移植。

我們讀入數組中的元素,你可以簡單地做:

cout << " Enter Lower Range " << endl; 
cin >> user_groups[i][0]; 
cout << " Enter Higher Range " << endl; 
cin >> user_groups[i][1]; 

假設i是一個索引數組,當你弄清楚while循環,你會得到。

如果您想開導自己,你可以使用一個更慣用方法:

int defined_groups; 
std::cin >> defined_groups; 
std::vector<std::pair<int, int>> user_groups; 
for (int i = 0; i < defined_groups; i++) { 
    int lower_range, upper_range; 
    if (cout << "Enter Lower Range " << endl && 
     std::cin >> lower_range && 
     cout << " Enter Higher Range " << endl && 
     std::cin >> upper_range) { 
    user_groups.push_back(std::make_pair(lower_range, upper_range)); 
    } 
} 
+0

@NikosC。這不是問題,GCC也有一個C++編譯器('g ++')。 – 2012-12-02 15:11:54

+0

@ H2CO3(不刪除評論fun?:-P)注意問題是如何標記C++而不是g ++。所以必須指出的是,代碼是無效的,標準的C++。 –

+0

@NikosC。啊,所以你回覆了刪除他評論的人。精細。對不起,在這種情況下。 – 2012-12-02 15:17:28