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

编写函数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 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!