C++实验6:数组操作

来源:互联网 发布:淘宝游戏账号出售 编辑:程序博客网 时间:2024/06/05 08:39

一、问题及代码

/**文件名称:数组分离.cpp*作者:孙嘉祁*完成日期:2017年5月13日*版本号:1.0*对任务及求解方法的描述部分:*输入描述:*问题描述:   定义一个不重复的有初值的10个元素的整数数组a,利用冒泡法对数组a排序后完成以下操作(写在一个程序中)           1。从键盘中输入一个数x,删除a数组中值为x的数组元素;           2。从键盘中输入一个数x,将x插入到a数组后数组a依然有序;*程序输出:*问题分析:*算法设计:*/#include<iostream>using namespace std;void pixu(int *A);void Delete(int x,int *D);void Insert(int x,int *I);void main(){int a[10]={3,8,1,5,7,9,6,0,2,4};int x;pixu(a);cout<<"输入x:";cin>>x;Delete(x,a);cout<<"输入x:";cin>>x;Insert(x,a);}void pixu(int *A){int i,j,t;for(i=0;i<9;i++){for(j=0;j<9;j++){if(*(A+j)>*(A+j+1)){t=*(A+j);*(A+j)=*(A+j+1);*(A+j+1)=t;}}}for(i=0;i<10;i++)cout<<*(A+i)<<" ";cout<<endl;}void Delete(int x,int *D){for(int i=0;i<10;i++){if(x==*(D+i)){for(int j=i;j<9;j++)*(D+j)=*(D+j+1);}}for(i=0;i<9;i++)cout<<*(D+i)<<" ";cout<<endl;}void Insert(int x,int *I){for(int i=0;i<10;i++){if(x>*(I+i)&&x<*(I+i+1)){for(int j=9;j>i;j--)*(I+j)=*(I+j-1);*(I+i+1)=x;}}for(i=0;i<10;i++)cout<<*(I+i)<<" ";cout<<endl;}

二、运行结果

三、心得体会

使用指针可以将数组在函数间作为参数传递,大大提高了数据传递的效率。

四、知识点总结

int  *x:定义一个指针变量

*x:取x指针对应的值

0 0