鱼C论坛

 找回密码
 立即注册
查看: 424|回复: 3

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

[复制链接]
最佳答案
0 
发表于 2018-1-14 13:33:32 | 显示全部楼层 |阅读模式

马上注册加入鱼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
最佳答案
913 
发表于 2018-1-14 14:02:03 | 显示全部楼层
之前的1.exe还在进程里没有关闭,关了vs重新打开看看,或重起电脑
最佳答案
76 
发表于 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重新打开看看,或重起电脑

大神再帮我看一下算法好像有问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

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

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

GMT+8, 2018-8-16 01:17

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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