Menú

Mostrar Mensajes

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ú

Mensajes - amgarciac

#11
Lo sé, pero quiero comprender la solución de matrices del enlace anterior, que es la única que me ha admitido; mejor dicho, comprender el código para futuras ocasiones pues es la 1ª vez que me enfrento a una matriz de direcciones.

Que por el juez da igual, pues estando bien las salidas de prueba me conformo, y que el de la OIE es tan superestricto que no sé ni lo que decir.

Así que si supieses como va ese código, explícamelo, por favor. Te lo agradecería.
#12
Disculpe pero el link al que me refería no era ese (había corregido mal el hipervínculo, pq había olvidado cambiar la URL), sino este: http://foro.elhacker.net/programacion_cc/sopa_de_letras_respuesta_erronea-t286627.0.html;msg1417535#msg1417535.

Si observas la respuesta, se juega con una matriz de direcciones, la cual no entiendo en cuanto a los números (0,-1,1) tal y como se colocan para hacer posiciones (digo yo).

Así, que lo que quiero es que me lo expliques con matrices, única manera aceptada. Que con comparaciones sin más ya lo he efectuado de "mil maneras", algo que explicaban en el link que te había puesto al principio equívocamente (el de hispabyte).
#13
Buenas tardes, me gustaría saber cómo podría hacer una sopa de letras que recorra una matriz de direcciones sabiendo que la palabra a buscar es una sola (en todas las direcciones posibles): "OIE". Me gustaría elaborarlo como el siguiente, pero no entiendo el código, es decir, la forma de hacerlo: http://foro.elhacker.net/programacion_cc/sopa_de_letras_respuesta_erronea-t286627.0.html;msg1417535#msg1417535

Así que os agraderceía enormemente cualquier ayuda.

Un saludo.
#14
Al final descubrí la causa del error: el truncamiento de los decimales sin redondear a pesar de que se leyera uno más (.999999). El error era exclusivo en G++.

Gracias a todos por vuestras respuestas.
Un saludo
#15
Te dejo un enlace donde puedes hojearlo: http://books.google.es/books?id=OC17arE5xukC&printsec=frontcover&hl=es#v=onepage&q&f=false. El capítulo que aborda esto (así como el que incluye tal relación de problemas) es el 1º, el de introducción.
#16
El libro es de 2006. Por otra parte, aprovecho para responderos a ambos.

Repito que el problema muestra que al usuario le da 0.45 (a nosotros nos da lo correcto: 0.46), y que a raíz de ahí descifremos el error. ¿Es entonces el error debido a codificación binaria, o a qué entonces?
#17
El libro me expone el código tal y como lo he puesto, y a continuación  me pide que escriba el programa y prueba la ejecución con los datos 1.54 y 2. El autor del problema dice que en su máquina obtiene "45 céntimos", preguntándome entonces que cuál creo que es el problema, y que proponga una solución.

Es que no comprendo que me pregunte cuál creo que es el problema. A lo mejor ha restado 1 sin querer. Y ya te digo, que una vez en un while, alcanzaba n-1 y no n que era lo que puse; por ello nada me extraña.

A lo mejor debe limpiar el flujo de datos y/o sumar uno.

Un saludo
#18
En primer lugar gracias por responderme, pero lo preguntaba (siendo no haberlo aclarado en el enunciado) porque se plantea este problema en un libro de programación que estoy leyendo.

Así que entonces, ¿a qué se debe ese error que muestra el problema, de que le salen 45 y no 46? ¿No es nada de ejecución verdad?

Yo pienso que debido a un despiste, haya añadido por ejemplo "centimos-1" (o centimos--), porque a mí me salen 46. Y dudo no sea que sea una pregunta "trampa" la que plantee el problema.

Un saludo
#19
Buenas tardes, estoy escribiendo un programa que como dato de salida debería de dar 46 -en vez de 45, que es lo que sale sin saber por qué- siendo los de entrada 1.54 y 2. Este es su código:

#include <iostream>
using namespace std;

int main()
{
double precio, pagado;
int centimos;
cout << "Escriba precio y dinero entregado: ";
cin >> precio >> pagado;
centimos = 100 * (pagado - precio);
cout << "Hay que devolver " << centimos << " centimos" << endl;
}


¿A qué puede deberse, a un error del flujo de datos (ya me ha pasado otras veces con un while, etc.?