2014-05-10 55 views
-4

您好我正在尋找如何解決程序a中報告函數中的問題,以從數組中刪除重複項。在函數報告中的問題,如果你把它拿出來,你把COUT主它將很好地工作,但你給它一個功能,它會停止:report()函數在程序中刪除數組中的重複項

#include <iostream> 
using namespace std; 


void report (int s); 

int main() 
{ 
    int size = 10; 
    int num[10]; 


    /*PROMPT USER TO INPUT 10 NUMBERS*/ 
    cout << "Please enter 10 integers, hitting return after each one: " << endl; 
    for (int i=0; i<size; i++) 
    { 
    cin >> num[i]; 
    } 


    for(int i=0;i<size;i++) 
    { 
    for(int j=i+1;j<size;) 
    { 
     if(num[j]==num[i]) 
     { 
     for(int k=j;k<size;k++) 
      num[k]=num[k+1]; 

      size--; 
     } else { 
     j++; 
     } 
    } 

    report(size,num[i]); 

    return 0; 
    } 


    void report (int size, int[]) 
    { 
    cout << "You entered " << size << " distinct numbers: " ; 
    for(int i=0;i<size;i++) 
    cout << num[i] << " "; 
    } 
+2

請正確縮進您的代碼。還請添加您收到的編譯器錯誤,並告訴我們您對它們不瞭解的內容。 – Mat

回答

1

你的原型是錯誤的:

void report (int size);     // Wrong; missing the second int[] parameter 

void report (int size, int[] int_array); // Right 

int main() 
{ 
    // .. 
} 

void report (int size, int[] int_array) { 
    // .. 
}