2013-04-15 472 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