program()函数在程序中删除数组中的重复项

时间:2014-05-10 04:19:34

标签: c++ cout

您好我正在寻找如何解决程序a中的报告功能中的问题,以从数组中删除重复项。函数报告中的问题,如果你把它拿出来然后把cout放在main中它会正常工作但你给它一个函数它会停止:

#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] << "  ";
  }

1 个答案:

答案 0 :(得分: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) {
  // ..
}