这个图片的意思,有人知道怎么做吗

c++指针,动态数组,动态分配内存空间,这图片里写的怎么做啊
有人会吗

img

啥意思
就是 改为
int n;
cin>>n;
double * p = (double*)malloc(n*sizeof(double));
或者 double *p = new double[n];

根据输入的n来使用malloc来动态申请内存,然后计算完成后用free释放即可。一个测试的例子如下, 供参考:

#include <iostream>
#include <stdlib.h>

using namespace std;
int DynamicTest(int *p ,int n){
    
    
    
    
    
    for(int i=0;i<n;i++){
        cout<<"请输入第"<<i+1<<"个数:";
        cin>>p[i];
    }
    
    int temp;
    for(int i=0;i<n-1;i++){
        
        for(int j=i;j<n;j++){
            
            if(p[i]>p[j]){
            //    printf("排序数组\n");
                temp = p[i];
                p[i] = p[j];
                p[j] = temp;    
            }
        }
    }
    
    cout<<"排序后的数据为:"<<endl;
    for(int i=0;i<n;i++){
        cout<<p[i]<<" ";
    }
    cout<<endl;
    

//    printf("in DynamicTest,p=%p,p==NULL:%d\n",p,p==NULL);

    
    return 1;
} 

int main(void){
    
    int n;
    cout<<"请输入要排序数字的个数(输入0退出):";
    cin>>n;
    
    
    int *  p = NULL;
    
    int preN=0;
    
    while(n!=0){
        
        
        if((p!=NULL && n > preN) || (p==NULL)){
            
            
            if(n>preN&&p!=NULL){
                cout<<"内存不够,进行扩容!" <<endl;
            }    
            
            if(p==NULL){
                cout<<"初识扩容!"<<endl;
            }
            
            if(p!=NULL&& n > preN){
            //    cout<<"n="<<n<<",preN="<<preN<<endl;
                cout<<"内存不够,释放原内存,开始申请新内存空间!"<<endl;
                free(p);
            }
            p = (int *)malloc(sizeof(int)*n);
            if(p!=NULL){
                cout<<"申请内存成功!"<<endl;
            }
        } 
        
        preN = n;
        DynamicTest(p,n);
        cout<<"请输入要排序数字的个数(输入0退出):";
        cin>>n;
    }
    
    return 0;
}

img