我是編程和C++的新手,我正在爲此做使用數組和函數
編寫函數以返回數組範圍的總和。該數組以及 範圍的起點和終點必須作爲函數的參數給出。 您可能想要考慮檢查開始點和結束點是否有效,即 即開始點不大於結束點,起始點爲 不小於零,並且結束點爲不大於數組的末尾。 您需要考慮如何判斷函數的長度。
請幫助
我是編程和C++的新手,我正在爲此做使用數組和函數
編寫函數以返回數組範圍的總和。該數組以及 範圍的起點和終點必須作爲函數的參數給出。 您可能想要考慮檢查開始點和結束點是否有效,即 即開始點不大於結束點,起始點爲 不小於零,並且結束點爲不大於數組的末尾。 您需要考慮如何判斷函數的長度。
請幫助
傳遞一個const std::vector<int>& v
並檢查begin
和end
不超過v.size()
:
int myfunction (const std::vector<int>& v, int begin, int end)
{
if (begin < 0 || begin >= v.size() || end < 0 || end >= v.size() || begin > end) {
// Error handling
throw std::runtime_error ("Wrong begin or end");
}
// Compute sum:
int ret = 0;
for (int i = begin; i < end; ++i)
ret += v[i];
return ret;
}
從本質上講,一個數組是值的列表。你被要求做的是在一個範圍內加上一些這些值。假設你的數組有10個值。他們將被索引值爲0 - 9(例如,如果您的數組名稱是查理,您可以通過說「Charlie [0]」來訪問第一個元素。)
爲了在數組中添加一個範圍,我們需要傳遞一個函數數組的名稱(在我們的例子中,'Charlie'),起始值和結束值,它們必須是0到數組長度的數字 - 1,因爲數組中的值總是開始爲零,並且數組中的最後一個值的索引將小於長度的一個;也就是說,數組10的索引將在0和9之間。
此函數將需要一個變量來保存值,並且將需要使用某種類型的循環遍歷循環。
僞代碼,你會看這樣的事:
sum = 0
for each value between x (the starting value) and y (the ending value)
sum = sum + Array[value]
return sum
這是否幫助?
是的,它確實謝謝你 – user3021910
歡迎來到SO,這不是這個網站的工作原理。你需要先嚐試一下,如果你的解決方案存在*特定的問題,那麼請問那些......我們不爲你做功課...... – Nim