您的位置:首页 > 编程语言 > C语言/C++

c++实验6--数组操作

2016-05-23 18:25 357 查看
一。问题及代码

/*
* 文件名称:2.cpp
* 作    者:董璐
* 完成日期:  2016    年  5   月  23  日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:用冒泡法先给数组排序,然后删除再加入一个数
* 输入描述:输出三个数组
* 问题描述:数组操作
* 程序输出:
* 问题分析:数组,循环结构
* 算法设计:
*/
#include<iostream>
using namespace std;
int main()
{const int n=10;
int a[]={2,4,6,5,8,9,10,1,3,7},i,m,k,x;
for(int j=0;j<n-1;j++)
for(i=0;i<n-j-1;i++)
{
if(a[i]>a[i+1])
{
m=a[i];
a[i]=a[i+1];
a[i+1]=m;
}
}
cout<<"有序数组为:";
for(i=0;i<n;i++)
cout<<a[i]<<"  ";
cout<<endl;
cout<<"请删除一个数x:";
cin>>x;
for(i=0;i<n;i++)
{
if(a[i]==x)
k=i;
}
for(i=k;i<n-1;i++)
a[i]=a[i+1];
cout<<"删除后的数组为:";
for(i=0;i<n-1;i++)
cout<<a[i]<<"  ";
cout<<endl;
cout<<"请插入一个数x:";
cin>>x;
for(i=0;i<n-1;i++)
if(a[i]>x)	break;
for(m=9;m>i;m--)
a[m]=a[m-1];
a[i]=x;
cout<<"插入后的数组为:";
for(i=0;i<n;i++)
cout<<a[i]<<"  ";
cout<<endl;
return 0;
}

二。运行结果



三。心得体会

数组部分让我觉得有些难,花费好长时间加上请教同学才写出代码,中间出了很多错误。另外,课堂上单纯的知识点需要运用后才能掌握,我看书后在上机是遇到运用的难题,这些都需要我们付出努力来完成。

四,知识点总结

数组赋值时可以只给数组靠前部分的元素初始化。只能给元素逐个赋值,不能整体赋值,如果给元素赋值,在数组说明中,可以不给出数组元素个数。

利用冒泡法给数组中的数排序,冒n-1次。

当输入要删除的数和数组中的某个值相等时,后面的数都向前进一位,数组长度减小一个值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: