2010-07-13 73 views
0

我該如何編寫一個函數來合併二維數組中的每一行的內容?要添加每列的內容? 我的代碼(到目前爲止):如何合併二維數組的行(和列)

#include <iostream> 

using namespace std; 
const int QUARTER = 4; 

void getdata(float [][QUARTER], int); 
void displaydata (float [][QUARTER], int); 
void quartertotal(float [][QUARTER], int); 


int main() 
{ 
    const int DIVISION = 6; 
    float data[DIVISION][QUARTER] = {0}; 
    float getarray[DIVISION][QUARTER]; 


    for (int a=0; a < DIVISION; a++) 
    { 
    for (int b = 0; b< QUARTER; b++) 
    { 
     cout << "Enter sales for Division "; 
     cout<< a+1; 
     cout<< " Quarter "; 
     cout<< b+1; 
     cout<< ": "; 
     cin >> getarray[a][b]; 
    } 
    } 

    displaydata(getarray, DIVISION); 
    cout << endl; 

    quartertotal(getarray,DIVISION); 
    cout << endl; 

    cout << endl << endl; 

    return 0; 

} 

(float getarray[][QUARTER], int divisions) 
{ 
    cout<<"\t\t\t\tQ1\tQ2\tQ3\tQ4\n"; 
    for (int i = 0; i < divisions; i++) 
    { 
    cout << "Sales for Division " << (i+1) << " are: \t"; 
    for (int j=0; j < QUARTER; j++) 
     cout << getarray[i][j] << "\t"; 
    cout << endl; 
    } 
} 
+0

請更好地格式化代碼。 – PeterK 2010-07-13 20:57:34

+0

我真的不知道如何...我花了一些時間嘗試格式化,但由於某種原因,網站不讓我 – mokwi8 2010-07-13 21:01:05

+0

什麼是'(float getarray [] [QUARTER],int divisions)'應該是? – Jacob 2010-07-13 21:08:17

回答

0

你已經有去數組讓你的銷售部門/季度在每個單元的方式,而你這樣做,你可以總結數據。

a\b 1 2 3 4 
1 
2 
3 
4 
5 
6 

如果你想添加一個行(部)如果你想添加一個山坳(區)加起來所有的一對同b。添加了所有同一個 的B。

獲得師1

a = 1 
for each b 
row += getarray[a][b]; 
+0

我不明白如何加總元素,這是我的問題。在課堂上,我們已經討論了幾個類的數組,並且出於某種原因,我仍然沒有「明白」 – mokwi8 2010-07-13 21:05:05

0
int row_total[DIVISION] = {0}; 

for (int a=0; a < DIVISION; a++) 
    { 
     for (int b = 0; b< QUARTER; b++) 
     { 
      row_total[a] += getarray[a][b]; 
     } 
    } 

我不知道你想實現這個代碼是什麼。 data應該怎麼做?另外,由於這是作業,所以與std::vector相比,您可能僅限於使用數組。我想,動態分配也是不可能的 - 或者事實並非如此?

+0

數據是稍後在程序中使用的函數的原型。我僅限於使用數組 – mokwi8 2010-07-13 21:22:35

0

從你對不瞭解數組評論:

這裏是描繪一個數組的方式: 想象的郵箱一行。每個郵箱都包含一個帶有數字的郵件。要將這些數字相加,您需要打開每個郵箱,讀取紙張上的數字,然後將其添加到正在運行的計數器中,可以在隨身攜帶的剪貼板上進行說明。一旦您訪問了每個郵箱並將其總數記錄在剪貼板上,剪貼板將包含郵箱的最終總和。郵箱行代表1維數組。剪貼板表示用於統計值的變量。

對於2維數組,我們假設您有多條街道可供參觀,每條街道的郵箱數量相同。要計算每條街道,讓我們在剪貼板上的每條街道上使用不同的紙張作爲計數。這個夾子只是成爲一系列具有統計功能的紙張,而不是每個街道郵箱總數的1。

有關編程的有趣事情經常發生,每天的例子都完全符合編程思想。在剪貼板上的一堆文件也可以被認爲是一堆「紙」,您只能輕鬆地在紙上看到文件。如果每當你將一張紙添加到堆中,就將它放在底部而不是頂部,它就成爲一個「隊列」。等等。

+0

我瞭解抽象的想法。我不明白如何操縱它們。 – mokwi8 2010-07-13 21:26:10

1

我希望你對1維數組的概念感到滿意。 現在第一個多維(2D,3D等)維數組的概述 - 2維數組可以被認爲是多個1維數組的組(或技術陣列)。類似地,該想法可以進一步擴展,即3維陣列是多個2維陣列的陣列等等。

回到你的問題,因爲一個足夠好的代碼已經由雅各張貼。