2013-10-05 74 views
0

嗨,這是我爲創建用戶定義數組而創建的程序。用戶定義數組的功能

這只是我項目的一小部分,我想將它變成一個名爲'input(n)'的靜態函數,其中n是數組的大小。

int main() { 


    int* a=0; 
    int n,x; 
    std::cout<<"Enter size "; 
    std:: cin>>n; 
    std::cout<<"Enter elements "; 
    a=new int(n); 

    for(int i=0;i<n;i++){ 
    std::cin>>x; 
    a[i]=x; 
    } 


for(int j=0;j<n;j++){std::cout<<a[j];} 
getch();   

} 

有關如何啓動它的任何提示?

+0

備註:'新INT(N)'對於n個整數不分配存儲器,'新的INT [n]'確實(甚至更好,廢'INT *'和使用'性病::矢量'。 – Zeta

回答

0
#include <iostream> 
using namespace std; 

static int* getInput(int n){ 
    int* a=0; 
    int x; 
    a=new int[n]; 
    for(int i=0;i<n;i++){ 
    cin>>x; 
    a[i]=x; 
    } 
    return a; 
    } 

int main() { 
    int *a; 
    int n=5; 
    a=getInput(n); 
    for(int j=0;j<n;j++) 
    { 
     cout<<a[j]; 
    } 
    delete[] a; 
} 

DEMO

1
int * input(size_t n) 
{ 
    int *p =new int[n]; 
    int x; 
    for(size_t i=0;i<n;i++) 
    { 
     std::cin>>x; 
     p[i]=x; 
    } 

    return p; 
} 

然後,

a=input(n);

不要忘記釋放內存。