// 21_2.cpp : コンソール アプリケーション用のエントリ ポイントの定義
//
#include "stdafx.h"
#include "time.h"
#include <string>
//#include <sstream>
#include <iostream>
using namespace std;
string int2str(int num);
string PopUpBall(string inputStr,int index);
int main(int argc, char* argv[])
{
int redBall;
int blueBall;
int tNumber;
int tNumber2;
int ballCount=33;
int flag[33];
//std::stringstream stream;
//std::string strTemp;
string balls[33];
string blueballs[16];
//flag Init
for (int m=0;m<33;m++)
{
flag[m]=0;
}
//setup redBalls
for(int j=0;j<33;j++)
{
tNumber=j+1;
balls[j]=int2str(tNumber);
}
//setup blueBalls
for(int n=0;n<16;n++)
{
tNumber2=n+1;
blueballs[n]=int2str(tNumber2);
}
//generate redball
cout <<"The redballs are :"<<endl;
srand((unsigned)time(NULL));
for(int t=0;t<6;t++)
{
do
{
redBall=rand()%ballCount;
}while(flag[redBall]==1);
//release a blue ball
flag[redBall]=1;
cout << balls[redBall] <<endl;
}
//generate blueball
blueBall=rand()%16;
cout <<"The Blueball is :"<< blueballs[blueBall] <<endl;
/*for(int e=0;e<33;e++)
{
cout << balls[e] <<endl;
}*/
/*
//Test Popupball;
string tStr="012345678";
cout<<PopUpBall(tStr,8)<<endl;
*/
return 0;
}
//number convert to string
string int2str(int num)
{
if ( num == 0 )
{
return "0";
}
string str="";
//将num的????予t
int t = num>0 ? num : -1*num;
while (t)
{
str = (char)(t%10+48)+str;
t /= 10;
}
if ( num < 0 )
{
str = "-" + str;
}
return str;
}
//popup a ball
string PopUpBall(string inputStr,int index)
{
string headStr;
string trailStr;
if(index == 0)
{
return inputStr.substr(1);
}
else if(index == (inputStr.size()-1))
{
return inputStr.substr(0,inputStr.size()-1);
}
else if(index > 0 && index <inputStr.size()-1)
{
headStr = inputStr.substr(0,index);
trailStr = inputStr.substr(index+1,inputStr.size()-index);
return headStr+trailStr;
}
return "";
}