如何在二維陣列中分別分開每行和列的總和或乘積 。在二維陣列上的操作
-1
A
回答
1
你需要陣列具有相同數量的元素(或者你可以使用一個向量)以將結果
C++代碼的ISH。
template<class T>
vector<T> SumRows(T * array, unsigned int rows, unsigned int cols)
{
vector<T> sums;
for (unsigned int i = 0; i < rows; i++)
{
T sum = 0;
for (unsigned int j = 0; j < cols; j++)
{
sum += array[i][j];
}
sums.push_back(sum);
}
return sums;
}
我模板它有趣,但它依賴於具有=和+ =運算符的類型,並且可以分配一個int常量。 用指向第一個元素的指針(或者只是使用數組)來調用該函數,適當的類型和計數。例如:
int myArray[3][3];
vector<int> sums = SumRows<int>(myArray, 3, 3);
列總和的工作原理類似,只是將for循環中的行和列位置顛倒過來。
0
一種可能性會使用std::accumulate
,這是專爲這種情況而設計的。
我不願意提及它,但C++標準庫提供了另一種可能性,這種可能性甚至更具體地被設計用於這種用途。 std::valarray
重載了許多標準的數學運算符,使這種事情幾乎微不足道。問題在於它的文檔記錄很差,很少使用,即使它可以完成這項工作,但幾乎可以使用valarray
來混淆代碼。
相關問題
- 1. 在二維數組列上的操作
- 2. 在一維陣列上的操作
- 3. 多維PHP陣列操作
- 4. 二維陣列
- 5. 二維陣列
- 6. 二維陣列
- 7. 二維陣列
- 8. 從二維陣列到一維陣列?
- 9. Python多處理爲昂貴的操作與二維陣列
- 10. 從二維陣列
- 11. 二維陣列VB
- 12. 二維陣列C#
- 13. 查找在二維陣列
- 14. C#:製作面板的二維陣列
- 15. 二維陣列上的錯誤
- 16. 二維陣列上的例外
- 17. 匹配二維陣列與一個二維陣列
- 18. 二維陣列在一個維度[1]
- 19. 二維陣列列表java
- 20. LCS的二維陣列表
- 21. jquery的交陣列二維
- 22. PostgreSQL的投陣列二維
- 23. 二維陣列中的Java
- 24. JavaScript的二維陣列
- 25. 的Javascript二維陣列
- 26. 在三維堆棧的每一層上執行二維操作
- 27. 一維到二維陣列的javascript
- 28. 推新陣列爲二維陣列
- 29. 對二維numpy陣列中的所有列進行操作的方法。
- 30. 二維numpy陣列的二次採樣
我只想要邏輯 – anurag18294 2010-09-08 01:58:41
你有多遠?哪裏有問題? – sellibitze 2010-09-08 06:32:48
研究使用for循環? – GWW 2010-09-08 01:56:09