【项目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;
}