读书人

(一个要求用数组解决)输入一组数

发布时间: 2012-02-19 19:43:38 作者: rapoo

(一个要求用数组解决),输入一组数,随便输入下标然后删除这个数的后面第五个数a;a开始接着找后面第五个数最后剩什么数
#include <iostream.h>
int num1,num2,num3;
int *dele(int *Array,int i);
int main()
{
int * Array;
int k,d;
cout < < "请输入人数! ";
cin> > num1;
Array=new int [num1];
for(int i=0;i <num1;)
{
Array[i]=++i;
cout < < "Array[ " < <i < < "]= " < <Array[i] < <endl;

}
cout < < "请输入第几个开始! ";
cin> > num2;
cout < < "you ";
if(num2 <num1)
{
while(sizeof(Array)==4)
{
if(d> num1)
{
k=k-num1;
continue ;
}
if(5> num1)
{
k=5%num1;
dele(Array,k);
}
else if(d%num1> =0)
{
k=d%5;
dele(Array, k );
}
else
cout < < "你输入错误! ";
d=d+5;
num1--;
cout < <num1;
}
cout < <*Array < < "you are right! ";


}
else
cout < < "你输入错误! ";
return 0;
}
int *dele(int *Array,int i)
{
while(i <num1)
{
Array[i]=Array[i+1];
}
return Array;
}

[解决办法]
#include <iostream>
using namespace std;

int count; //当前人数
int beginc; //从第几个开始数
int *dele(int *Array,int i);
int main()
{
int erasec; //删除数组中第erasec个数
cout < < "请输入人数! ";
cin> > count;
int * Array=new int [count];
for(int i=0;i <count;i++)
{
Array[i]=i+1;
cout < < "Array[ " < <i < < "]= " < <Array[i] < <endl;

}
do{
cout < < "请输入第几个开始! ";
cin> > beginc;
if(beginc> count) cout < < "你输入错误!\n ";
}while(beginc> count);
cout < < "Out:\t ";
while(count> 1)
{
erasec=(beginc+4)%count; //从第beginc个人开始数五个人
if(erasec==0) erasec=count; //不可能删除数组中第0个元素
cout < <Array[erasec-1] < < '\t ';
dele(Array,erasec);


beginc=erasec;
}
cout < < '\n ' < < "Left:\t " < <*Array < < "\nyou are right! ";
system( "pause ");
return 0;
}
int *dele(int *Array,int i)
{
do
{
Array[i-1]=Array[i];
i++;
}while(i <count);
count--;
return Array;
}

读书人网 >C++

热点推荐