VICTORIA.YF 2021-12-20 16:21 采纳率: 72.7%
浏览 56
已结题

编写函数fun删除一组数组中所有相同的数

这个补充的代码是什么意思?for(j=i;j<n-1;j++) a[j]=a[j+1];这一步为什么要这样写?

//编写函数fun删除一组数组中所有相同的数,只保留一个,数组中的数已按从小到大的顺序排列。调用函数后返回删除后数组中剩余数据的个数。
//例如:数组内容为:1 1 3 4 4 7 8 10 10 11 ,结果:1 3 4 7 8 10 11。
//注意:请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句
---------------------------------------------------------------------------------------------------*/
#include <iostream>
#include <fstream>
using namespace std;
int fun(int a[],int n)
{
  /*********Begin**********/
  




  
  /**********  End  **********/
}

int main()
{
  void xxx();
  int a[40];
  int i,c;
  cout<<"请输入10个从小到大排序的整数"<<endl;
  for (i=0;i<10;i++)
  {
    cin>>a[i];
   }
  c=fun(a,10);
  cout<<endl<<"删除重复数据之后是"<<endl;
  for(i=0;i<c;i++)
  {
     cout<<a[i]<<'\t';
  }
  xxx();
  return 0;
}


//示例代码:
int i,j;
  for(i=0;i<n-1;i++)
{
  if(a[i]==a[i+1])
  {
    for(j=i;j<n-1;j++)
         a[j]=a[j+1];
     n--;
     i--;
      
   }
}
return n; 

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2021-12-23 16:58
    关注

    for(j=i;j<n-1;j++) a[j]=a[j+1]; 将当前数组元素 a[j=i] 用后一个 a[j+1] 元素来覆盖,一直到数组最末的元素。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月1日
  • 已采纳回答 12月24日
  • 创建了问题 12月20日

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据