C++上机实验6--数组分离


/*
* 文件名称: qg4.cop
* 作    者:  李秋谷
* 完成日期:   2016   年    05月   21日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:定义一个不重复的有初值的10个元素的整数数组a,利用冒泡法对数组a排序后完成以下操作
1。从键盘中输入一个数x,删除a数组中值为x的数组元素;
2。从键盘中输入一个数x,将x插入到a数组后数组a依然有序(在第一题基础上完成);
* 问题描述:数组操作
* 程序输出:
* 问题分析: 略
* 算法设计:  略
#include<iostream.h>  
void main()
{
     int i,j,t,a[10]={2,56,24,17,6,9,13,71,27,31};
     for(i=0;i<=9;i++)
	 {
       for(j=0;j<=9-i;j++)
	   {
        if(a[j]>a[j+1])
		{
          t=a[j];a[j]=a[j+1];a[j+1]=t;
		}
	   }
	 }
    cout<<"排序后的数组为:";
    for(i=0;i<10;i++)
    cout<<a[i]<<" ";
        cout<<endl;
    int x,m=0;
    cout<<"删除数据:";
    cin>>x;
	  cout<<"删除后的新有序数组为:"; 
    for(i=0;i<10;i++) 
		if(a[i]!=x)
		{
			a[m]=a[i];
			m++;
		}
    for(m=0;m<9;m++)  
        cout<<a[m]<<" "; 
    cout<<endl;
    int y,n,k; 
    cout<<"插入数据:"; 
    cin>>y; 
	if(a[9]<y)	  
	{
		a[9]=y;
	}
	for(n=0;n<=9;n++)          
	{
		if(a[n]>y)              
		{                 
			for(k=9;k>=n;k--)                  
			{                      
				a[k+1]=a[k];                  
			}                    
			a[n]=y;                    
			break;              
		}          
	}      
    cout<<"插入后新的有序数组为:";
	for(n=0;n<10;n++)
        cout<<a[n]<<" ";  
    cout<<endl;
}

三: 心得体会:要理解题意,因为题目说的是第二小问要在第一题的基础上,而不是在原始排列数组a上

四:知识点总结:利用冒泡法,所以冒泡法的源程序一定要记住。删除和插入都是在此基础上完成的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值