Cita de: dakomt en 22 Julio 2011, 16:35 PM
Pero bueno como el daño ya esta hecho.... aqui teneis otra version más eficiente xDCódigo [Seleccionar]
#include<iostream>
using namespace std;
int main()
{
int N,resto,modu;
do
{
cout<<"Numero de objetos: ";
cin>>N;
}
while(N<=0);
modu = N%4;
if(modu!=1){
resto = modu==0? 3:modu%2 +1;
cout<<"Hay "<<N<<" objetos Yo Quito "<<resto<<" objeto/s"<<endl;
N-=resto;
}
do{
do
{
cout<<"Hay "<<N<<" objetos, Cuantos quitas? [1] [2] [3]: ";
cin>>resto;
}while(resto<1 || resto>3 || resto>N);
N-=resto;
if(!N) break;
modu = N%4;
resto = modu==0? 3:modu%2 +1;
cout<<"Hay "<<N<<" objetos Yo Quito "<<resto<<" objeto/s"<<endl;
N-=resto;
}while(1);
cout<<"Has perdido... como siempre...."<<endl;
}
Muchas gracias por tu aporte. Parece que no, pero estoy aprendiendo muchas cosas que no sabía gracias a los códigos de los compañeros.
Por cierto, podrías indicarme qué es lo que hace esta sentencia??
resto = modu==0? 3:modu%2 +1;
Puede ser que sea una especie de if o alguna estructura de selección similar donde se evalúe el valor de la expresión lógica modu==0 y en caso de ser true le asigno 3 a resto y en caso contrario modu%2+1?? Gracias
Voy a intentar hacer mi propio código del ejercicio, a ver si soy capaz de implementarlo con lo aprendido. Más tarde actualizaré el post con el contenido del tema 2, por si hay alguien que esté mirando los ejercicios... xD
Muchas gracias a todos por la ayuda.