Seguimos buscando a Arshak. Ayudanos compartiendo!
Encuesta no oficial de docentes
Resultados de la encuesta no oficial de docentes
Probaste el SIGA Helper?

Donar $100 Donar $200 Donar $500 Donar mensualmente


Enviar respuesta 
 
Calificación:
  • 1 votos - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Ayuda - Algoritmos - Vectores
Autor Mensaje
ElChacal Sin conexión
Suspendido
NO PUEDO VER MENSAJES PRIVADOS...

Ing. Industrial
Facultad Regional Buenos Aires

Mensajes: 7.819
Agradecimientos dados: 0
Agradecimientos: 586 en 71 posts
Registro en: Mar 2008
Mensaje: #1
Ayuda - Algoritmos - Vectores Dudas y recomendaciones Algoritmos y Estructuras de Datos
Gente:

Consulta, tengo el siguiente problema. A ver si alguno se copa.

ES UN EJERICIO BOLUDO DE INFO 1 PERO NO ME SALE. USTEDES QUE SON DE SISTEMAS SEGURO LES PARECE UNA PELOTUDEZ.

ENUNCIADO (NO HACE FALTA USAR ARCHIVOS NI NADA, SOLO VECTORES):

Se dispone de un conjunto de 23 registros, cada uno con un valor entero, ya ordenado en forma creciente. A continuación Leer un registro adicional, también con un valor entero. Se debe escribir un diagrama y la correspondiente codificación que leyendo estos registros en el orden indicado, genere un vector de 24 elementos donde el valor adicional se encuentre ubicado en el lugar que le corresponda en el vector de forma tal que quede también ordenado en forma creciente
16-08-2010 12:53
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
leandrodg Sin conexión
Il Capo Cannoniere
Lost Admin
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.421
Agradecimientos dados: 11
Agradecimientos: 52 en 20 posts
Registro en: Mar 2008
Facebook Twitter YouTube
Mensaje: #2
RE: Ayuda - Algoritmos - Vectores
Muy por arriba, una posibilidad es:

1. Primero sí o sí leer todos los números inicialmente y colocarlos dentro de un vector de 24 posiciones en las posiciones 0 a 22.
2. Leer el nuevo valor que hay que insertar en algún lugar.
3. Buscar cuál es el lugar (para esto, voy recorriendo todos los valores dentro del vector y en cuanto encuentro uno que es mayor a mi nuevo número, ahí es donde debería ir mi nuevo número, y me guardo ese índice).
4. Desde la posición 23 hasta la posición de la cual tengo que mover el valor, voy moviendo el 'valor anterior' a la posición actual. Es decir, en la 23 coloco lo que había en el 22, en el 22 lo que había en el 21, etc. Así hasta llegar a la posición donde iría mi nuevo número.
5. Coloco en la posición obtenida el número.

Y listo! =)

LeandroDG

Mi blog: http://www.logue.com.ar/blog
Ingeniero en Sistemas
16-08-2010 13:47
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Eagle Sin conexión
Presidente del CEIT

********

Ing. Industrial
Facultad Regional Buenos Aires

Mensajes: 1.052
Agradecimientos dados: 1
Agradecimientos: 6 en 6 posts
Registro en: Aug 2009
Mensaje: #3
RE: Ayuda - Algoritmos - Vectores
Acá está:
[Imagen: ejinfo1.jpg]
http://img834.imageshack.us/img834/2624/ejinfo1.jpg
Sorry por la calidad...

La idea es...
1) Se leen los 23 registros y se guardan desde A[1] hasta A[23]
2) Se ingresa el nuevo registro (B), y se lo guarda como A[24]
3) Se ordena el vector A

O sea, es una versión bastante más simplificada que la de Leandro.

Si sos detallista, en realiad el enunciado dice que crees un vector nuevo. Podrías hacer que una vez creado el vector A[1] a A[23], lo copie a B[1] a B[23]; y al ingresar el nuevo registro lo guardes como B[24]. Luego ordenas el vector B y listo.

Ehhh, como que para los de Sistemas... estás despreciando a los de Industrial. lol
(Este mensaje fue modificado por última vez en: 16-08-2010 15:04 por Eagle.)
16-08-2010 15:02
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Jarry Sin conexión
Anomalía de Belady
I know teh codez
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.007
Agradecimientos dados: 188
Agradecimientos: 259 en 98 posts
Registro en: May 2008
Mensaje: #4
RE: Ayuda - Algoritmos - Vectores
se me hace como poco eficiente. o sea, reordenar un vector implica muchas operaciones a memoria que por lo menos en algoritmos te dicen que esquives.
yo haria lo siguiente



read x
i = 0
j=0
while(i<24){ //recorro los vectores
if(vector1[i]<x || j = 1){ //si vector1[i] es menor que x entonces x va mas adelante, si j es 1 entonces ya puse a x en vector2
vector2[i+j] = vector1[i]
i= i+1
}
else{ //en el unico momento que puedo entrar aca es cuando vector1[i]>x y j = 0
vector2[i] = x //pongo a x en la posicion actual
j = 1 //al ponerle 1 a j me aseguro de no pisar a x en el vector2. y puedo seguir usando a i como indice para el vector1
}
}




No estoy necesariamente de acuerdo con lo que dice en el post de arriba
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
(Este mensaje fue modificado por última vez en: 16-08-2010 19:28 por Jarry.)
16-08-2010 15:58
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
leandrodg Sin conexión
Il Capo Cannoniere
Lost Admin
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.421
Agradecimientos dados: 11
Agradecimientos: 52 en 20 posts
Registro en: Mar 2008
Facebook Twitter YouTube
Mensaje: #5
RE: Ayuda - Algoritmos - Vectores
Es más fácil que la mía, pero la mía es más eficiente ya que no tenés que ordenar el vector entero (dado que vos ya sabés que solo 1 miembro no estaría ordenado).

La solución de Jarry, si bien me hace ruido ese i+j, ya que a lo sumo sería j = -1 e i++, así tal como está no funciona me parece. Pero seguro que es poco claro, ahí habría que meter comentarios a pleno =)

LeandroDG

Mi blog: http://www.logue.com.ar/blog
Ingeniero en Sistemas
16-08-2010 16:14
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
ElChacal Sin conexión
Suspendido
NO PUEDO VER MENSAJES PRIVADOS...

Ing. Industrial
Facultad Regional Buenos Aires

Mensajes: 7.819
Agradecimientos dados: 0
Agradecimientos: 586 en 71 posts
Registro en: Mar 2008
Mensaje: #6
RE: Ayuda - Algoritmos - Vectores
Che muchas gracias por las respuestas.

Igual aca en Info 1 no joden tanto con la respuesta.

Ahora voy a terminar otros ejercicios y luego cuando vuelva a este miro las alernativas que pusieron.

Creo que la alternativa de Leandro esta bueno y es eficiente, pero tengo que ver si me sale hacerlo asi. La de Eagle es fiel candidata para que la ponga en mi TP jajaja.

Igual despues lo veo mejor dado que ahora me estoy quemando el bocho con otro.

Abrazo y gracias.
16-08-2010 16:18
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Jarry Sin conexión
Anomalía de Belady
I know teh codez
**********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 2.007
Agradecimientos dados: 188
Agradecimientos: 259 en 98 posts
Registro en: May 2008
Mensaje: #7
RE: Ayuda - Algoritmos - Vectores
me habia equivocado, el i+j deberia haber estado en el indice del vector2 y no el del uno. ahi lo arregle. y le puse comentarios explicativos.
espero que sirva

ya me habian dicho que no codeo claramente ¬¬

No estoy necesariamente de acuerdo con lo que dice en el post de arriba
[Imagen: 971aa6599664453c05cb3e42d58bbc0eo.jpg]
(Este mensaje fue modificado por última vez en: 16-08-2010 19:29 por Jarry.)
16-08-2010 19:16
Visita su sitio web Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)