elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 21:29  


Tema destacado: Únete al Grupo Steam elhacker.NET

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  Algoritmo, WTF!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Algoritmo, WTF!  (Leído 944 veces)
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Algoritmo, WTF!
« en: 24 Mayo 2011, 16:15 »

En clase de programación, nos explicaron algunos métodos para ordenar elementos y uno de estos fue el siguiente: -No lo terminamos porque no sabíamos como realmente era-

Suponiendo que tengo el siguiente vector: 1,3,5,10,20 y quiero ingresar el número 22.
Además de que las variables:
  TV = TotalValores, que en este casi son 5.
  A = vector
  VALIN = Valor a ingresar
No logro entender como hacerlo,...

Código
PROCEDIMIENTO insertar_ordenado( TV, A, VALIN )
 l = 1
 MIENTRAS ( l <= TV ) && ( VALIN > A[l] )
   l = l + 1
 FIN MIENTRAS
 
 TV = TV + 1
 
 PARA K = TV; l + 1; -1 HACER
   A[k] = A[k-1]
 FIN PARA
 
 A[l] = VALIN
 
FIN


« Última modificación: 24 Mayo 2011, 17:08 por Shell Root » En línea

---
pucheto

Desconectado Desconectado

Mensajes: 214


Ver Perfil
Re: Algoritmo de ordenamiento, WTF!
« Respuesta #1 en: 24 Mayo 2011, 16:27 »

No es un algoritmo de ordenamiento...
Es un algoritmo para insertar ordenado en un vector.

*Busca la posicion donde va a meter a 'VALIN' (justo detras del primer elemento mayor q VALIN, los anteriores son menores q VALIN).
*Agranda el vector en 1.
*Corre todos los elementos mayores que VALIN 1 posicion hacia adelante.
*Inserta VALIN en la posicion que le corresponde.


En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Algoritmo, WTF!
« Respuesta #2 en: 24 Mayo 2011, 17:07 »

Tienes razón XD

Pero, a ver... Hago hasta donde terminar el primer MIENTRAS, incremento la variable TV y ya me pierdo...
En línea

---
raul338


Desconectado Desconectado

Mensajes: 2.371


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Algoritmo, WTF!
« Respuesta #3 en: 24 Mayo 2011, 20:29 »

busca sobre insertion sort. Lo que hace es a una matriz ordenada, buscar su lugar, hacerle un "espacio" moviendo todos los elementos restantes....
Y poniendo el elem en su lugar
En línea

Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Algoritmo, WTF!
« Respuesta #4 en: 24 Mayo 2011, 23:59 »

Sí eso lo sé, tampoco soy tan principiante.
Pero mi duda es, si el elemento que ingreso DEBE ser el último, porque mueve los otros elementos?
En línea

---
raul338


Desconectado Desconectado

Mensajes: 2.371


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Algoritmo, WTF!
« Respuesta #5 en: 25 Mayo 2011, 00:22 »

Si es el ultimo, tecnicamente L deberia ser mayor a TV y ni entraria al bucle, simplemente lo agregaria :)
En línea

Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Algoritmo, WTF!
« Respuesta #6 en: 25 Mayo 2011, 05:38 »

Pero a ver, supongamos que tenemos este vector
Código
1,3,5,8,11

Ahora antes del primer ciclo, las variables quedan así,
Código
l		TV		VALIN
1 5 12

Cuando se entra en el ciclo, finalmente quedan así,
Código
l		TV		VALIN
1 5 12
2
3
4
5
6

Hasta aquí, vamos bien, ahora incrementó la variable TV en 1,
Código
TV = 6

Aquí es donde me pierdo, entra el ciclo con las siguientes valores,
Código
PARA K = TV; l + 1; -1 HACER 
PARA 6; 7; -1 HACER

Se supone que debe de ingresar al vector, y decrementar 7 a 6, aquí es donde pararía?
En línea

---
dakomt

Desconectado Desconectado

Mensajes: 76


Viking Metal


Ver Perfil
Re: Algoritmo, WTF!
« Respuesta #7 en: 27 Mayo 2011, 01:17 »



Aquí es donde me pierdo, entra el ciclo con las siguientes valores,
Código
PARA K = TV; l + 1; -1 HACER 
PARA 6; 7; -1 HACER

Se supone que debe de ingresar al vector, y decrementar 7 a 6, aquí es donde pararía?

No exactamente. en ese bucle l+1 es una constante, no se decrementará nunca. El valor que se va decrementando es K. Es decir Ahora K vale 6... lo vamos decrementando hasta que  K = l +1, es decir, mientras K >= l +1.

Pero como K < l +1 la condición no se cumple y ese bucle no llega a ejecutar ninguna iteración.

« Última modificación: 27 Mayo 2011, 01:20 por dakomt » En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Algoritmo
Programación C/C++
Gargoris 3 721 Último mensaje 21 Octubre 2009, 07:14
por Nork
Prueba romper algoritmo ¿Serás capaz de trazar mi algoritmo?
Desafíos - Wargames
Debci 12 3,686 Último mensaje 12 Enero 2010, 01:00
por Novlucker
Algoritmo
Ejercicios
Sainshaca 2 1,602 Último mensaje 22 Abril 2010, 05:14
por Sainshaca
Algoritmo
Criptografía
Mafmaestro 3 1,125 Último mensaje 24 Abril 2011, 17:24
por APOKLIPTICO
dime el algoritmo que más te gusta... ejm:algoritmo del avestruz
Programación General
jhonatanAsm 0 1,289 Último mensaje 13 Mayo 2011, 01:30
por jhonatanAsm
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines