c/c++编程急 啊????????????

[复制链接]
查看11 | 回复0 | 2007-12-25 18:19:25 | 显示全部楼层 |阅读模式
我分析了一下第一个问题:我的思路是: (1)确定可用的元素,用数组ElemArray[]表示。 (2)定下目标数组AimArray[N],从ElemArray[]中取元素穷举出有N个元素的目标数组的值,赋组目标数组(当然有很多组这样的目标数组)。 (3)判断目标数组中任意P个连续(注意:是连续的)整数之和为正(用函数Get_Negative(AimArray,N,Q)),任意Q个连续整数之和为负(Get_Plus(AimArray,N,P)).循环每个目标数组。能够找到符合要求的则输出。否则提示。 -------------------部分代码(算法如下)---------------------- #include using namespace std; int SetElemArrayData(int* npElemArray,const int nMaxsize,int nBeg_num,int nEnd_num); void SetAimArrayData(int* npAimArray,int* npElemArray,int n,const int nN); bool Get_Negative(int* npAimArray,int nN,int nQ); bool Get_Plus(int* npAimArray,int nN,int nP); void PrintAimArray(int* npAimArray,int nN); //------------------------------------------------------ int SetElemArrayData(int* npElemArray,const int nMaxsize,int nBeg_num,int nEnd_num) { if((nEnd_num-nBeg_num)>nMaxsize) return -1; else { int nCounter(0); for(int i=0;nBeg_num0) ++j;//再判断下一组数相加的和。 else return false; } return true; } void PrintAimArray(int* npAimArray,int nN) { cout>N>>Q>>P; const int aimsize=N; int AimArray[aimsize]; int nElemNum;//数组的组成元素的个数。 nElemNum=SetElemArrayData(ElemArray,maxsize,beg_num,end_num); for() { //SetAimArrayData(int* npAimArray,int* npElemArray,int n,const int nN); //每完成一个目标数组的赋值,就执行下面语句。 //目标数组的赋值尚没实现。 { if(Get_Negative(AimArray,N,Q)&&Get_Plus(AimArray,N,P)) PrintAimArray(AimArray,N); else cout<<"NO."<<endl; } } } 完毕。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行