2013-04-15 526 views
1

我需要一些幫助來計算BMI。我已經從文件中讀取數據並填充了包含人的體重和身高的2個數組。我正在創建一個包含這些人的BMI的第三個數組。我知道BMI是bmi =體重/(身高*身高);我遇到的問題是當我需要計算的數據存儲到數組中時,如何計算BMI。我正在考慮循環每個數組(高度和重量)並通過數組中的每個索引計算該循環中的BMI。這兩個數組也是相同的大小,是雙數據類型。有人能告訴我這是否是最好的方法嗎?BMI計算C++

+0

這聽起來像一個精緻的解決方案。我的意思是,你會如何提出這樣做​​? – alrikai

+0

是的,那是最好的辦法..或者你可以將身高和體重存儲爲向量>。通過這種方式,你將只循環一個數組。 – veda

+0

@alrikai我在想使用3層嵌套循環,一個循環遍歷所有3個數組,然後遞增,直到sizeof(bmi [],height []和weight [])? – user12074577

回答

2

關於您在問題中的評論,您不必做3個嵌套循環,因爲索引會對齊您的三個數組(高度,重量和BMI)。只是爲了舉例,我們將您的2個輸入數組引用到您的問題中,身高和體重均爲n。

const int n = 10; 
double height [n]; 
double weight [n]; 
//read from array, populate arrays height and width 
//... 

//have 1 output BMI value per input value 
double BMI [n]; 

//calculate the BMI values based on the heights and widths 
for (int i = 0; i < n; i++) 
{ 
    BMI[i] = height[i]/(weight[i]*weight[i]); 
} 

希望我理解你正確地問什麼

+0

好吧,我厭倦了,我得到了與所有人的BMI相同的奇怪負數。它說「-1.08038e-058」 – user12074577

+2

,這聽起來像你使用未初始化的數據。你正在閱讀你的身高和體重嗎?嘗試調試您的代碼或打印您的數據文件中讀取的值,以確保您正確地獲取數據 – alrikai

+0

我是,但我無法弄清楚爲什麼我的生活爲什麼它每個人的相同數量和重量指數負數... – user12074577