指针作业2
2012-12-24 16:05
309 查看
#include <iostream>
using namespace std;
int main()
{
void fun1(int*p,int n);
void fun2(int*p,int n);
void fun3(int*p,int n);
void fun4(int*p,int n);
void fun5(int*p,int n);
void fun6(int*p,int n);
int a[5],b[5];
cout<<"请对数组元素进行输入:"<<endl;
fun1(a,5);
fun2(a,5);
for(int i=0;i<5;i++)
b[i]=a[i];
fun3(a,5);
fun4(a,5);
fun5(a,5);
fun6(b,5);
cout<<endl;
return 0;
}
void fun1(int*p,int n)
{
for(int i=0;i<n;i++)
{
cin>>*(p+i);
}
}
void fun2(int*p,int n)
{
for(int i=0;i<n;i++)
{
cout<<*(p+i)<<" ";
}
cout<<endl;
}
void fun3(int*p,int n)
{
int max=p[0];
int t;
for(int i=1;i<n;i++)
if(p[i]>max)
max=p[i];
cout<<"该数组的最大值为:"<<max;
cout<<endl;
}
void fun4(int*p,int n)
{
int i,j,k,m;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(p[j]>p[k]) k=j;
m=p[k];
p[k]=p[i];
p[i]=m;
}
cout<<"经过选择法由大到小排序后数列变为:"<<endl;
for(i=0;i<n;i++)
{
cout<<*(p+i)<<" ";
}
cout<<endl;
}
void fun5(int*p,int n)
{
int i,j,m;
for(j=0;j<=n-2;j++)
{
for(i=0;i<n-j;i++)
{
if(*(p+i)>*(p+i+1))
{
m=*(p+i);
*(p+i)=*(p+i+1);
*(p+i+1)=m;
}
}
}
cout<<"经过冒泡法由小到大排序后序列变为:"<<endl;
for(i=0;i<n;i++)
cout<<*(p+i)<<" ";
cout<<endl;
}
void fun6(int*p,int n)
{
cout<<"该数组经过你想存储后该数列变为:"<<endl;
for(int i=n-1;i>=0;i--)
{
cout<<*(p+i)<<" ";
}
}
using namespace std;
int main()
{
void fun1(int*p,int n);
void fun2(int*p,int n);
void fun3(int*p,int n);
void fun4(int*p,int n);
void fun5(int*p,int n);
void fun6(int*p,int n);
int a[5],b[5];
cout<<"请对数组元素进行输入:"<<endl;
fun1(a,5);
fun2(a,5);
for(int i=0;i<5;i++)
b[i]=a[i];
fun3(a,5);
fun4(a,5);
fun5(a,5);
fun6(b,5);
cout<<endl;
return 0;
}
void fun1(int*p,int n)
{
for(int i=0;i<n;i++)
{
cin>>*(p+i);
}
}
void fun2(int*p,int n)
{
for(int i=0;i<n;i++)
{
cout<<*(p+i)<<" ";
}
cout<<endl;
}
void fun3(int*p,int n)
{
int max=p[0];
int t;
for(int i=1;i<n;i++)
if(p[i]>max)
max=p[i];
cout<<"该数组的最大值为:"<<max;
cout<<endl;
}
void fun4(int*p,int n)
{
int i,j,k,m;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(p[j]>p[k]) k=j;
m=p[k];
p[k]=p[i];
p[i]=m;
}
cout<<"经过选择法由大到小排序后数列变为:"<<endl;
for(i=0;i<n;i++)
{
cout<<*(p+i)<<" ";
}
cout<<endl;
}
void fun5(int*p,int n)
{
int i,j,m;
for(j=0;j<=n-2;j++)
{
for(i=0;i<n-j;i++)
{
if(*(p+i)>*(p+i+1))
{
m=*(p+i);
*(p+i)=*(p+i+1);
*(p+i+1)=m;
}
}
}
cout<<"经过冒泡法由小到大排序后序列变为:"<<endl;
for(i=0;i<n;i++)
cout<<*(p+i)<<" ";
cout<<endl;
}
void fun6(int*p,int n)
{
cout<<"该数组经过你想存储后该数列变为:"<<endl;
for(int i=n-1;i>=0;i--)
{
cout<<*(p+i)<<" ";
}
}