No older revisions available
No older revisions available
~cpp
#include <iostream>
#include <cmath>
#include <ctime>
using namespace std;
const int DIGIT = 3;
void GenerateRandomNumber(int real[]);
void Process(int real[]);
bool IsExistSameNumber(int nth, int real[]);
void Calculate(int expected[], int real[], int& strike, int& ball);
int main()
{
int real[3] = {0,};
GenerateRandomNumber(real);
Process(real);
return 0;
}
void GenerateRandomNumber(int real[])
{
srand(time(0));
real[0] = rand() % 9 + 1;
for(int i = 1 ; i < DIGIT ; )
{
real[i] = rand() % 9;
if(!IsExistSameNumber(i, real))
++i;
}
}
void Process(int real[])
{
int expected[3] = {0,};
for(int i = 0 ; i < 10 ; ++i)
{
cout << ">>";
cin >> expected[0] >> expected[1] >> expected[2];
int strike = 0;
int ball = 0;
Calculate(expected, real, strike, ball);
if( !(strike == 0 && ball == 0) )
{
cout << strike << "스트라이크 " << ball << "볼" << endl;
if(strike == 3)
{
cout << "축하합니다. " << endl;
break;
}
}
else
cout << "아웃" << endl;
}
}
bool IsExistSameNumber(int nth, int real[])
{
for(int j = 0 ; j < nth ; ++j)
{
if(nth != j && real[nth] == real[j])
return true;
}
return false;
}
void Calculate(int expected[], int real[], int& strike, int& ball)
{
for(int i = 0 ; i < DIGIT; ++i)
{
for(int j = 0 ; j < DIGIT ; ++j)
{
if(expected[i] == real[j])
{
if(i == j)
++strike;
else
++ball;
break;
}
}
}
}