jose.cpp

来自「VC++处学者可能用到的小程序,是著名的JOSEPHUS问题,书上已经有,但本人」· C++ 代码 · 共 57 行

CPP
57
字号
//**********      jose.cpp      *********


# include <iostream>
# include "ring.h"
# include "jose.h"

using namespace std;

void Jose::Initial()
{
	int num, begin, m;
	cout << "please input the number of boys,"
		"beginning position, interval per count:\n";
	cin >> num >> begin >>m ;
	 
	if (num < 2)
	{
		cerr << "bad number of boys \n";
		return;
	}

	if (begin < 0)
	{
		cerr << "bad beginning position.\n";
		return;
	}

	if (m < 1 || m > num)
	{
		cerr << "bad interval number.\n";
		return;
	}


	//数据合法,初始化
	numOfBoys = num;
	beginPos = begin;
	interval = m;
}


void Jose::GetWinner()
{
	Ring x(numOfBoys);
	x.Count(beginPos);

	for (int i = 1; i < numOfBoys; i++)
	{
		x.Count(interval);
		x.PutBoy();
		x.ClearBoy();
	}

	cout << "\nthe winner is: ";
	x.PutBoy();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?