Marcos, miembro de nuestro staff, nos ha hecho el favor de crear este tutorial ya que controla muy bien dicho tema.
Ejemplo: Solución del problema de misioneros y caníbales en C++
// missionaries and cannibals
#include<iostream>
#include<iomanip>
using namespace std;
class game
public:
int counto, i;
char left[6], right[6];
int m_num, c_num;
bool side;
int ml_count, cl_count;
int mr_count, cr_count;
game()
counto = 1;
ml_count = cl_count = 3;
mr_count = cr_count = 0;
side = false;
for (i = 0; i<3; i++)
left[i] = 'M';
left[i + 3] = 'C';
right[i] = ' ';
right[i + 3] = ' ';
void get() (m_num + c_num == 0))
goto start;
void displaymc()
cout << "nleft sidetright siden";
for (i = 0; i<3; i++)
cout << left[i] << " ";
cout << "tt";
for (i = 0; i<3; i++)
cout << right[i] << " ";
cout << endl;
for (i = 3; i<6; i++)
cout << left[i] << " ";
cout << "tt";
for (i = 3; i<6; i++)
cout << right[i] << " ";
cout << endl;
if (counto % 2 == 0)
side = true;
cout << "nBoat on right side of rivern";
else
side = false;
cout << "nBoat on left side of rivern";
void boat_lr()
for (i = 0; i<g.cr_count&&g.mr_count>0)
cout << "nn~~~~~~~~~~~~~~~~YOU LOST!!~~~~~~~~~~~~~~~~n";
break;
else if (g.cr_count == g.mr_count && g.cr_count == 3 && g.mr_count == 3)
cout << "nn~~~~~~~~~~~~~~~~YOU WON!!~~~~~~~~~~~~~~~~n";
break;
else
g.displaymc();
g.get();
if (g.side == false)
g.boat_lr();
else
g.boat_rl();
g.counto++;
return 0;
Si te sientes estimulado, tienes la habilidad dejar un enunciado acerca de qué te ha gustado de esta crónica.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)