程序中的Report()函数从数组中删除重复项

report() function in program to remove duplicates from an array

本文关键字:删除 数组 函数 Report 程序      更新时间:2023-10-16

嗨,我正在寻找如何解决程序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] << "  ";
  }

你的原型是错误的:

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) {
  // ..
}