在C++中如何用指针完成对数组的操作?

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:23:38
已知一个数组a[10],并在其中保存了下列数据:
6、12 、34、56、78、89、90、409、800、2300
要求:(1)从键盘上任意输入一个数,并将该数插入到数组的合适位置。(要求:用指针完成)。
(2)打印出插入前和插入后的数组内容。

int *p=a;
cin >> p[1];
for ( int i = 0; i < 10; i++ )
{
cout << p[i];
}
// 使用的是VC6.0 console 工程

#include "stdio.h"
#include <iostream>
using namespace std;
main()
{
int a[10]={6,12 ,34,56,78,89,90,409,800,2300};
int *p=a,count=10,*q;
for(int i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<"\nInput:"<<endl;
int in;
while(cin>>in)
{
count++;
q=new int[count];
int k;
for(k=0;k<count-1;k++)
if(in>=*(p+k)) *(q+k)=*(p+k);
else { *(q+k)=in; break; }
for(int i=k;i<count-1;i++)
*(q+i+1)=*(p+i);
if(k==count-1) *(q+count-1)=in;
cout<<"the result is:"<<endl;
for(int i=0;i<count;i++)
cout<<*(q+i)<<"