|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
}
这个问题是原来在运行程序的时候,没有退出那个运行的程序,就是运行完没有回车或输入其他字符,导致那个exe文件没有关闭也就无法写入新的代码。重启VC就可以重新编译运行了,当然也可以选择到任务管理器里去把那个exe的进程关闭。
|
-
|