| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 409 人关注过本帖
标题:请教
只看楼主 加入收藏
orangecy
Rank: 1
来 自:江苏
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-8-19
结帖率:100%
收藏
 问题点数:0 回复次数:0 
请教
有个作业题目,是让输出方案的。
有五个股票,要抛出几个,但是要满足一下五个条件。P[0]=!A[0]||A[1];
    P[1]=(!A[1]&&A[2])||(!A[2]&&A[1]);
    P[2]=(A[2]&&A[3])||(!A[2]&&!A[3]);
    P[3]=A[3]||A[4];
    P[5]=!A[4]||(A[0]&&A[1]);
总共要遍历2的5次方,即要五重循环,所以老师让用递归的方法实现

以下是我自己编的程序,语法是没错的。但是无打印结果,各位大大帮帮忙啊??谢谢了可以自己做个递归函数让我借鉴一下,拜求!!!!

#include "stdafx.h"
#include<iostream>
using namespace std;


const int SIZE=5;

void PS(int A[],int P[],int m)                  
{
    int i=m;
    bool j=1;
    for(i=0;i<m;i++)
        j=j&&P[i];                              
    if(j)
    {
        for(i=0;i<SIZE;i++)
        {
            if(i==0)
                cout<<"(";
            if(A[i])
                cout<<"A["<<i<<"]&&";
            else cout<<"^A["<<i<<"]&&";
        }
        cout<<"\b\b"<<")";
        cout<<"||";
    }
}


void PP(int A[],int P[],int i)                 //A为五种待抛股票,P为5个需要满足的条件
{
    
    for(A[i]=0;A[i]<=1;A[i]++)
    {
        if(A[i+1])
            PP(A,P,i+1);
        else PS(A,P,SIZE);
    }
}


int main()
{

    int A[SIZE+1],P[SIZE];
    
    A[SIZE]=0;
    P[0]=!A[0]||A[1];
    P[1]=(!A[1]&&A[2])||(!A[2]&&A[1]);
    P[2]=(A[2]&&A[3])||(!A[2]&&!A[3]);
    P[3]=A[3]||A[4];
    P[5]=!A[4]||(A[0]&&A[1]);
    PP(A,P,0);
    cout<<"\b\b";
}
搜索更多相关主题的帖子: include 
2008-09-18 22:58
快速回复:请教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014840 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved