![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
#1
|
||||
|
||||
![]() Hola amigos del foro.
Tengo un problema que me está volviendo loco ![]()
Salu2 Última edición por dec fecha: 20-12-2006 a las 07:51:10. |
#2
|
||||
|
||||
Adivina, adivinanza...
|
#3
|
||||
|
||||
Y esto???
Cita:
![]() ![]() ![]() En este caso me gustaria poder poner el avatar de jachguate. No entiendo nada... Saludos |
#4
|
||||
|
||||
Sé más específico, con que variables, en que línea de código...
Recuerda las buenas costumbres al escribir código, como la indentación.
__________________
eLcHiCoTeMiDo - Rompecorazones profesional Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos? Salva a un nylon, usa prendas de piel de foca ![]() |
#5
|
||||
|
||||
Parece que nos encontramos ante otro misterioso caso de optimización de código
![]() bosterito, lo que ocurre es lo siguiente como no utilizas el valor de "va" para nada, el compilador, que es muy listo, simplemente omite todo ese código innecesario. Por ejemplo, prueba a colocar esto en tu código:
Ahora ya utilizamos la variable va para algo, así que el compilador ya no puede omitir ese bloque de código. |
#6
|
||||
|
||||
Hola a todos.
El código que puse es un ejemplo. El problema que tengo es la parte del if, porque la matriz tiene algunos elementos con el valor 1.5707963268, pero cuando llega a la parte del if, nunca entra, siendo que debería hacerlo. A continuación va el código: Código:
Procedure Dibujar( Matriz : Tmatriz1 ); var Bloque, Ancho, Alto, i, j : Integer; Pendiente, X0, Y0 : Real; begin Bloque := 16; Alto := 7; j := 1; while ( Alto <= (Form1.Image1.Picture.Bitmap.Height - ( (Bloque div 2)+1 ) ) ) do begin Ancho := 7; i := 1; while ( Ancho <= (Form1.Image1.Picture.Bitmap.Width - (( Bloque div 2 )+1) ) ) do begin if ( Matriz[j,i] = 1.5707963268 )then begin Pendiente := tan(Matriz[j,i]); X0 := 1; Y0 := 1; Obtener_Puntos( X0, Y0, Pendiente ); X0 := X0-1; Graficar ( Ancho, Alto, X0, Y0, clFuchsia, 3 ); end; inc(i); Ancho := Ancho + 16; end; Alto := Alto + 16; inc(j); end; Form1.Label1.Caption := 'ya está'; end; |
#7
|
||||
|
||||
![]() Volviendo a tu pregunta, tu dices lo siguiente: Cita:
![]() |
#8
|
||||
|
||||
|
#9
|
||||
|
||||
Este hilo tiene el misterio de un cuento de navidad, con sorpresa incluida, el que era, ahora no es, el que es, no es el que parecía que era, jejeje...
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código Únete al grupo Teaming clubdelphi | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 20-12-2006 a las 21:25:27. |
#10
|
|||
|
|||
Solo quiero comentar que si el código ejemplo es similar al código real (según tú) a nadie beneficia haber mostrado el primero, es decir, no se ha resuelto tu problema y por otro lado pienso que le hiciste perder el tiempo a la gente que amablemente trato de colaborar.
Tu problema es específico en el código real y nunca se va a localizar el mismo error/problema/defecto (llamalo como quieras) en el código ejemplo. Hasta pronto Edito: Lo único congruente es el titulo del hilo (COSA DE LOCOS) ![]()
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#11
|
|||
|
|||
No es posible que si se cumplen las condiciones no entre al if, ¿seguro que no en alguno de los bucles while no se cumple y sale?
|
#12
|
||||
|
||||
Disculpá Seoane, pero lo que hice fué porque pensé que haciendo esto iba a resultar mucho más simple la comprensión de mi problema. Con la ayuda que me diste si me funciona para el ejemplo 1 pero cuando quise adaptar la situación para mi problema real (ejemplo 2), sigo con el mismo problema. Te agradecería una respuesta favorable de tu parte, ya que estoy trabado y no puedo avanzar en el tema. Desde ya muchas gracias.
|
#13
|
||||
|
||||
Pero todavía sigo sin saber como llenas los valores de la matriz
![]() |
#14
|
||||
|
||||
Mientras pones algo mas de codigo, permiteme adivinar un par de soluciones.
![]() Esto es lo que tienes ahora:
Solución 1:
Solución 2:
PD: Para que funcione, necesitas incluir en la uses la unit math. |
#15
|
||||
|
||||
Hola Seoane
Ahí pongo algo de código Código:
Type Tmatriz1 = array[1..16,1..16] of Real; // Aquí defino la matriz Código:
Theta := Angulo1 ( Gxx, Gyy, Gxy ); // En esta función se obtiene un determinado ángulo Angulos[(((Alto+Bloque-1) div Bloque), ((Ancho-1) div Bloque)] := Theta; //Aquí le asigno el valor a la matriz |
#16
|
||||
|
||||
¿Has probado las soluciones que te propuse? ¿funcionaron o sigues teniendo el mismo problema?
|
#17
|
||||
|
||||
Cita:
Las comparaciones de tipos que tienen decimales es uno de los mayores problemas que hay en el mundo de la PC, al menos para mí ![]() ![]() quedarme con Centésimas en un float. Saludos
__________________
eLcHiCoTeMiDo - Rompecorazones profesional Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos? Salva a un nylon, usa prendas de piel de foca ![]() |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Están locos estos romanos | dec | Humor | 3 | 09-10-2006 11:49:32 |
Los virus estan mas locos cada dia | el_barto | Noticias | 6 | 14-09-2005 17:54:18 |
...de locos... | Jure | Humor | 2 | 23-08-2004 12:43:20 |
¿Estamos locos o que? | kokoon | Humor | 3 | 28-05-2004 21:25:33 |
Locos | obiwuan | Humor | 0 | 13-05-2003 19:05:19 |
![]() |
|