首页 > 解决方案 > 无法将数组中的负值转换为正值?

问题描述

我需要返回true/false如果数组中有任何整数转换为正数,我可以返回真或假但是我不能将负整数转换为正数?

#include <iostream>
using namespace std;

int convertArray (int a[],int sizeofArray )     

{
bool v = false;
for (int i=0; i<sizeofArray; i++)
{   

    if(a[i]<0)
    {
        abs(a[i]);
        v = true;

    }

  cout << i << "  " << a[i] << endl;  
}
return v;



}
int main()

{
    int b[5] = {1,-2,3,5,2};
    cout << convertArray (b,5)<<endl;

        return 0;
}

标签: c++arraysfunctionloopsabsolute-value

解决方案


该声明:

abs(a[i]);

只进行转换,但值会丢失,因为您没有重新分配给相应的数组元素并且参数不是通过引用传递的。你应该有:

a[i] = abs(a[i]);

推荐阅读