Arrays 如何将整数与数组中的值相乘?

Arrays 如何将整数与数组中的值相乘?,arrays,loops,Arrays,Loops,实际上,我想从数组中获取绝对值,这是我能想到的唯一方法,使用“if”循环将数组中的值乘以(-1)。但它是这样工作的吗?例如: for (i = 1 ; i <= 10 ; i++) { if(x[i]<1) { x[i] = (-1) * x[i]; } else{} ratio[i] = (x[i]/fx[i]) * 0.5; } for(i=1;i了解您使用的语言非常重要 如果您使用的语言中包含函数式编程,则可以执行以下操作(psue

实际上,我想从数组中获取绝对值,这是我能想到的唯一方法,使用“if”循环将数组中的值乘以(-1)。但它是这样工作的吗?例如:

for (i = 1 ; i <= 10 ; i++) {

    if(x[i]<1) {
        x[i] = (-1) * x[i];
    } else{}

    ratio[i] = (x[i]/fx[i]) * 0.5;
}

for(i=1;i了解您使用的语言非常重要

如果您使用的语言中包含函数式编程,则可以执行以下操作(psuedocode):

Map将函数应用于每个参数,并从所有结果中生成一个新数组

如果您没有地图,那么类似这样的东西应该可以正常工作:

for (int i=0;i<=10;i++){
    ratio = Math.abs(ratio[i]);
}
伪代码中(int i=0;i)的

foreach value in the array:
    if array[value] < 0:
        array[value] = array[value] * -1
foreach数组中的值:
如果数组[值]<0:
数组[值]=数组[值]*-1

在此之后,数组中的每个值都将是绝对的非负值。

您自己的代码工作正常,除了两个细节:

  • for循环可能应该从 0到9,而不是1到10。至少如果语言是C(或大多数语言)。一开始可能看起来很奇怪,但数组从0开始计数。因此,第十个元素将被称为
    x[9]
  • if语句,
    if(x[i]在C中,#包括并使用x[i]=fabs(x[i])。
    
    function abs(int x){
        if (x < 0) return -x;
        return x;
    } 
    
    foreach value in the array:
        if array[value] < 0:
            array[value] = array[value] * -1