QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

新鱼友

Rank: 1

积分
95
查看: 146|回复: 3

[已解决]三色旗问题,大佬看一下运行不了

[复制链接]
最佳答案
0 

尚未签到

不失微笑 发表于 2018-1-14 13:33:32 1463 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
#include<iostream>
#include<string>
using namespace std;
int changeFlag(string &str);
void swp(string &str,int x,int y);
void main()
{
          cout<<"Pleaseinput the dutch flags"<<endl;  
         string str;  
         cin>>str;
                 int n=changeFlag(str);
         cout<<str<<endl;  
                 cout<<n<<endl;
}


int changeFlag(string &str){
        int nlength=str.length();
        int fbule=0;
        int fwhite=0;
        int fred=nlength-1;
        int number=0;
        while(fwhite<fred)
        {
                if(str[fwhite]=='w')
                        fwhite++;
                else if(str[fwhite]=='b')
                {
                        if(fwhite!=fbule)
                        {swp(str,fwhite,fbule);}
                        fwhite++;
                        fbule++;
                        number++;
                }
                else
                {
                        while(fwhite<fred)
                        {
                                if(str[fwhite]=='r')
                                {if(fwhite!=fred)
                                {swp(str,fwhite,fred);}
                                fwhite++;
                                fred--;
                                number++;
                                }
                        }
                }       
                return number;
               
        }
}

       
void swp(string &str,int x,int y)  
{  
         char tmp;  
         tmp = str[x];  
         str[x] = str[y];  
         str[y] = tmp;  
         cout<<x<<" swaps with "<<y<<endl;  
}
最佳答案
2018-1-14 14:19:58
这个问题是原来在运行程序的时候,没有退出那个运行的程序,就是运行完没有回车或输入其他字符,导致那个exe文件没有关闭也就无法写入新的代码。重启VC就可以重新编译运行了,当然也可以选择到任务管理器里去把那个exe的进程关闭。
QQ图片20180114133302.png
楼层
跳转到指定楼层
最佳答案
624 
累计签到:256 天
连续签到:25 天
ba21 发表于 2018-1-14 14:02:03 | 显示全部楼层
之前的1.exe还在进程里没有关闭,关了vs重新打开看看,或重起电脑
最佳答案
73 
累计签到:54 天
连续签到:3 天
orino 发表于 2018-1-14 14:19:58 | 显示全部楼层    本楼为最佳答案   
这个问题是原来在运行程序的时候,没有退出那个运行的程序,就是运行完没有回车或输入其他字符,导致那个exe文件没有关闭也就无法写入新的代码。重启VC就可以重新编译运行了,当然也可以选择到任务管理器里去把那个exe的进程关闭。
最佳答案
0 

尚未签到

不失微笑  楼主| 发表于 2018-1-14 17:00:36 | 显示全部楼层
ba21 发表于 2018-1-14 14:02
之前的1.exe还在进程里没有关闭,关了vs重新打开看看,或重起电脑

大神再帮我看一下算法好像有问题

发表回复

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

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /2 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-2-23 08:35

快速回复 返回顶部 返回列表