Dev - C++ - El código no da la salida esperada

 
Vista:
Imágen de perfil de Mónika
Val: 15
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

El código no da la salida esperada

Publicado por Mónika (6 intervenciones) el 19/05/2019 01:32:00
Buenas tardes,

En el siguiente código me piden crear dos funciones para completar el código, aparentemente me quedo bien, pero la salida no es la salida esperada, creo que no está entrando a las dos funciones que he escrito, me podrían por favor ayudar e indicar que falta, llevo tres semanas buscando ayuda pero no he podido y tampoco puedo avanzar en mi estudio si el código no hace lo que se pide. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 160
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

El código no da la salida esperada

Publicado por Andrés (53 intervenciones) el 19/05/2019 04:02:13
La salida esperada esta mal, si tomas el archivo que compartiste originalmente y eliminas todas las intersecciones, la salida es:

Screenshot-from-2019-05-18-20-59-24

lo cual definitivamente no concuerda con la salida esperda.

Se me hace que el código de la intersección hay que revisarlo, trata primero de hacerlo manualmente en una hoja cuadriculada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mónika
Val: 15
Ha disminuido 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

El código no da la salida esperada

Publicado por Mónika (6 intervenciones) el 20/05/2019 23:13:18
Holas,

Realizando los pasos como me indicas, descubrí dos cosas pero creo que mi error esta ahora en rectangle canonicalize porque ya me da los cuatro rectangulos esperados pero creo que el if no debe ser <0, porque puedo encontrar 0,51 ó -0,51 y yo necesito que tome el negativo. Mi código es el siguiente pero como hago para que el c++ entienda que es en el caso de negativo .

1
2
3
4
5
6
7
8
9
10
11
12
13
if ( r.width < 0) {
   int tx;
   tx=r.x;
   r.x = r.x+r.width;
   r.width=abs(r.width);
}
if (r.height < -0) {
   int ty;
   ty=r.y;
   r.y = r.y+r.height;
   r.height=abs(r.height);
}
return r;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar