2014-11-03 151 views
0

獲得列向量我已經在我的代碼C++從矩陣

*matrix1 = new int[*matrix1rows * *matrix1columns]; 
*matrix2 = new int[*matrix2rows * *matrix2columns]; 

定義這樣的矩陣現在我需要的矩陣的列保存爲一個單一的載體,將兩個矩陣相乘。 例如,如果我有這樣一個矩陣:

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

我想每一個列向量例如

1 
5 
9 

我已經創建了一個循環,以獲得行作爲載體但現在我需要列的相同的​​東西,但我不知道如何做到這一點。

這是我的循環獲取行向量。但是現在我需要獲得矩陣2的列向量以將其與矩陣1的行向量相乘。我不能改變矩陣的定義。

for (int j = 0; j < matrix1rows; j++) { 
    for (int i = 0; i < matrix1columns; i++) { 
     printf("%i ", matrix1[(j * matrix1columns) + i]); 
    } 
} 

如何獲得具有循環矩陣的列?

+0

使用'的std :: VECTOR' – 2014-11-03 06:39:12

回答

1

交匯處行標籤與列標籤,就像這樣:

for (int i = 0; i < matrix1columns; i++) { 
    for (int j = 0; j < matrix1rows; j++) { 
     printf("%i ", matrix1[(j * matrix1columns) + i]); 
    } 
}