c++第6次作业

时间:2022-01-20 21:56:17

【项目1:数组操作】定义一个不重复的有初值的10个元素的整数数组a,利用冒泡法对数组a排序后完成以下操作(写在一个程序中)

1。从键盘中输入一个数x,删除a数组中值为x的数组元素;

2。从键盘中输入一个数x,将x插入到a数组后数组a依然有序(在第一题基础上完成);

#include <iostream>  
using namespace std;  
int main()  
{   
	const int n=10;
    int a[n]={2,1,3,4,56,64,72,89,9,10};
	int i,j,x1,x2,locate;
	cout<<"已知的数组"<<endl;
	for(i=0;i<n-1;i++)
		for(j=0;j<n-1-i;j++)
		{
			if(a[i]>a[j])
			{
				x1=a[j];a[j]=a[j+1];a[j+1]=x1;
			}
		}
		
		for(i=0;i<n;i++)
			cout<<a[i]<<" ";
		cout<<endl;
		cout<<"请输入要删除的数值x1:";
		cin>>x1;
		for(i=0;i<n;i++)
		if(a[i]==x1)
			{
				locate=i;
				for(i=locate;i<9;i++)
					a[i]=a[i+1];
			}
				
			cout<<"删除x1后的数组为:";
			for(i=0;i<n-1;i++)
				cout<<a[i]<<" ";
			cout<<endl;
			cout<<"输入要插入的值x2:";
			cin>>x2;
			for(i=0;i<n;i++)
				if(a[i]>x2) break;
				for(j=n;j>i;j--)
					a[j]=a[j-1];
				a[i]=x2;
				cout<<"插入后的数组为:";
				for(i=0;i<n;i++)
					cout<<a[i]<<" ";
				cout<<endl;
				return 0;  
}  



【项目2:数组合并】

已知有两个有序的数组A,B,将这两个数组合并到数组C中,数组C依然有序,如a[5]={1,3,8,9,10},b[5]={2,3,4,5,6},则c[10]={1,2,3,3,4,5,6,8,9,10}

#include <iostream>  
using namespace std;  
int main()  
{    
    int a[5]={1,3,5,7,9},b[5]={2,4,6,8,15},c[10];
	int i,j,k,m;   
    for(i=0;i<5;i++) 
    {  
		
        c[i]=a[i];  
    }  
	
    for(j=0;j<5;j++)  
    {  
		
        c[i]=b[j];  
        i++;  
    }  
    for (k=0;k<9;k++)  
		for(i=0;i<9-k;i++)  
        {  
            if(c[i]>c[i+1])  
            {  
                m=c[i];  
                c[i]=c[i+1];  
                c[i+1]=m;  
            }  
        }  
		cout<<"排序后的数组c="<<endl;  
		for(i=0;i<10;i++)  
			cout<<c[i]<<" ";  
		return 0;  
}