c++ - 函数、数组和动态数组

标签 c++ arrays function pointers

到目前为止我已经这样做了,我不知道我的错误在哪里或哪里出错了,我第一次想出了这个程序。我们必须向用户询问我使用动态数组完成的数组中的元素数量。然后我们必须传递 2 个参数,一个是数组的大小,另一个是数组(浮点型)。

该函数应将每个单元格的内容替换为原始数组中从左端到相关单元格的所有单元格内容的总和。例如,如果我有数组 {1,2,3,4,5} 函数应该返回 {1,3,6,10,15}。这是我的程序,请告诉我我必须对现有代码进行哪些更改。

#include <iostream>
using namespace std;

float compute(int x, float arr[]){
    float sum=0;

    for(int i=0; i<x;i++){
        sum+=arr[i];
        arr[i]=sum;
    }
    return arr;
}

int main(){
    int x;
    cout<<"How many elements you want"<<endl;
    cin>>x;

    float *p=new float[x];

    for(int i=0; i<x; i++){
        cin>>p[i];
    }
    cout<<compute(x,p);
    return 0;
}

最佳答案

简单修复,如果你可以修改原始数组

void compute(int x, float arr[]) 
{ 
    float sum=0;

    for(int i=1; i<x ;i++)
        arr[i] = arr[i] + arr[i-1];

    // return arr; // Not required
}

然后,您可以执行以下操作

compute(x,p);
for(int i= 0 ; i< x; ++i)
   std::cout<< p[i] << std::endl;

此外,确保在处理后释放分配的内存

删除[] p;

关于c++ - 函数、数组和动态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20584135/

相关文章:

c++ - 为什么我的 Windows 桌面进程似乎立即退出而没有标准输出?

c++ - lambda 可以有 "C"链接吗?

arrays - 从 Powershell 使用数组参数调用构造函数

javascript - 如何在 polymer 中使用 jQuery 动态更改数组?

javascript - 我可以在 JavaScript 中嵌套函数吗?它们会被自动调用吗?

Javascript - jquery .click() 函数中的 confirm()

c++ - VS2010 中的标准智能感知

c++ - 找到cmd.exe文件的位置

c++ - 打印与数组中的值一样多的星星

将字符串转换为枚举并传入结构