Mr. X, baneado porque "tu perro se ha comido a mi madre" y por tener un nick impicitamente sexual que puede herir la sensibilidad de los menores...

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
/*
* si se puede resolver devuelve 1, sino 0
*
* guarda en txtresultado las operaciones que se van realizando para llegar al resultado
*/
int resolver(int *cifras,int ncifras,int resultado,char *txtresultado)
{
int i,j,operador1,operador2;
/* si el numero de datos restantes es <= 1, no se pueden realizar operaciones */
if(ncifras <= 1)
return 0; /* devolvemos falso */
/* emparejamos los numeros de 2 en 2 */
for(i=0 ; i < ncifras ; i++)
{
for(j=0 ; j < ncifras ; j++)
{
operador1 = cifras[i];
operador2 = cifras[j];
if(i!=j) /* un numero no puede operar consigo mismo */
{
if(i < j) /*suma y producto son conmutativas y se realizan solo con i<j */
{
/*
* operamos y guardamos la operacion en la cadena que contiene el texto con
* el resultado
*/
operacion(cifras,i,j,'+',txtresultado);
/* si tras la operacion hemos hallada el resultado */
if(cifras[i] == resultado)
return 1; /* devolvemos verdadero */
/* en este punto, no se ha hallado ninguna solucion
* por lo tanto, buscamos un resultado, con los datos restantes
*/
if(resolver(cifras,ncifras-1,resultado,txtresultado + strlen(txtresultado)))
return 1; /* si lo solucionamos, devolvemos verdadero */
/* si no lo solucionamos, resauramos los valores de los parametros */
restaurar(cifras,i,j,operador1,operador2,txtresultado);
/* y pasamos a la siguiente operacion */
operacion(cifras,i,j,'*',txtresultado);
if(cifras[i] == resultado)
return 1;
if(resolver(cifras,ncifras-1,resultado,txtresultado + strlen(txtresultado)))
return 1;
restaurar(cifras,i,j,operador1,operador2,txtresultado);
}
//resta y division no conmutativas, asi que las realizamos con todos los pares
operacion(cifras,i,j,'-',txtresultado);
if(i < j)
{
if(cifras[i] == resultado)
return 1;
}
else
if(cifras[j] == resultado)
return 1;
if(resolver(cifras,ncifras-1,resultado,txtresultado + strlen(txtresultado)))
return 1;
restaurar(cifras,i,j,operador1,operador2,txtresultado);
operacion(cifras,i,j,'/',txtresultado);
if(i < j)
{
if(cifras[i] == resultado)
return 1;
}
else
if(cifras[j] == resultado)
return 1;
if(resolver(cifras,ncifras-1,resultado,txtresultado + strlen(txtresultado)))
return 1;
restaurar(cifras,i,j,operador1,operador2,txtresultado);
}
}
}
return 0;
}
void restaurar(int *cifras,int i,int j,int operador1,int operador2, char *txtresultado)
{
/* movemos los datos a partir del indice mayor una posicion a la derecha */
if(i < j)
memmove(cifras + j + 1, cifras + j, sizeof(int) * (MAX_NUMEROS - j - 1));
else
memmove(cifras + i + 1, cifras + i, sizeof(int) * (MAX_NUMEROS - i - 1));
/* restauramos los valores originales que habia en el vector */
cifras[i] = operador1;
cifras[j] = operador2;
/* y eliminamos la informacion de la operacion de la cadena con la solucion */
*txtresultado = '\0';
return;
}
void operacion(int *cifras,int i,int j,char op,char *txtresultado)
{
/* guardamos en min{i,j} el bresultado de la operacion */
switch(op)
{
case '+':
sprintf(txtresultado,"%d + %d = %d\n",cifras[i],cifras[j],cifras[i]+cifras[j]);
cifras[i] += cifras[j];
break;
case '*':
sprintf(txtresultado,"%d * %d = %d\n",cifras[i],cifras[j],cifras[i]*cifras[j]);
cifras[i] *= cifras[j];
break;
case '-':
sprintf(txtresultado,"%d - %d = %d\n",cifras[i],cifras[j],cifras[i]-cifras[j]);
if(i < j)
cifras[i] -= cifras[j];
else
cifras[j] -= cifras[i];
break;
case '/':
if(cifras[j])
if(!(cifras[i] % cifras[j]))
{
sprintf(txtresultado,"%d / %d = %d\n",cifras[i],cifras[j],cifras[i]/cifras[j]);
if(i < j)
cifras[i] /= cifras[j];
else
cifras[j] /= cifras[i];
}
break;
}
/* y ahora desplazamos todos los valores a la derecha de max{i,j} una posicion a la izquierda */
if(i < j)
memmove(cifras + j,cifras + j + 1, sizeof(int) * (MAX_NUMEROS - j - 1));
else
memmove(cifras + i,cifras + i + 1, sizeof(int) * (MAX_NUMEROS - i - 1));
return;
}
Citar
El cierre de Megaupload y la detención de su excéntrico fundador ha sido un duro golpe para la piratería en Internet, pero difícilmente se va a poner freno a las descargas ilegales de música y cine si no se encuentra alguna fórmula que salvaguarde los derechos de autor y que, al mismo tiempo, sea atractiva para los internautas y les motive a apostar por la copia legal y no por la pirata.
Citar
Se trata de establecer una tarifa plana para el intercambio legal de productos culturales y audiovisuales en Internet. Por 6 euros al mes, los internautas tendrían derecho al intercambio legal de obras protegidas por derechos de autor.
Citar
El dinero sería recaudado por el proveedor de servicios y remitido a una entidad de gestión, que sería la encargada de distribuir los fondos entre los autores. Este sistema –promovido por Reino Unido– exigiría aplicar algunas limitaciones a la capacidad de los sistemas de almacenamiento y a la cantidad de archivos compartidos.
Citar
El objetivo es poner fin a una situación que cada vez es más escandalosa y que amenaza con acabar con uno de los bienes más preciados y escasos: el talento. España es el país con más piratería de Europa y uno de los diez mayores del mundo. Tan sólo 2 de cada 100 canciones que se escuchan son legales, el cine y los videojuegos sufren una tasa de piratería superior al 70%, y ya casi la mitad de los libros consumidos son piratas.
Citar
En lugar de intercambio de archivos, yo me voy a inventar el intercambio de activos. Voy a ir a un concesionario de Porsche y voy a robar un Porsche Carrera, que como me parece caro tengo derecho a robarlo, y luego se lo dejaré a todos mis amigos, pero, eso sí, sin cobrarles nada. Para justificar el robo, puedo argumentar que Porsche gana mucho dinero, que necesito el coche para ir a trabajar, que mi única intención es socializar el lujo, que un coche da mucha libertad...
Citar
Hay unos señores que crean obras por las que casi no cobran, y otros señores, como el extravagante Kim Schmitz, que ganan dinero dedicándose a robar sus obras a través de la copia y el pirateo.