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

来源:百度知道 编辑:UC知道 时间:2024/07/04 23:04:34
http://zhidao.baidu.com/question/42160290.html
大家到这里看,回悬赏很高分的,只有三天了

我分析了一下第一个问题:我的思路是:
(1)确定可用的元素,用数组ElemArray[]表示。
(2)定下目标数组AimArray[N],从ElemArray[]中取元素穷举出有N个元素的目标数组的值,赋组目标数组(当然有很多组这样的目标数组)。
(3)判断目标数组中任意P个连续(注意:是连续的)整数之和为正(用函数Get_Negative(AimArray,N,Q)),任意Q个连续整数之和为负(Get_Plus(AimArray,N,P)).循环每个目标数组。能够找到符合要求的则输出。否则提示。
-------------------部分代码(算法如下)----------------------
#include <iostream>
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(in