Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 3 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Dom Nov 13, 2011 2:28 pm
Mensajes: 8

Nota Publicado: Dom Nov 13, 2011 2:51 pm 
Arriba  
Tengo una duda y no se me ocurre como resolver este problema escrito en Pseudocodigo (Pseint)

El ejercicio completo es mas largo, acá pongo la parte que no entiendo:

Tengo 2 vectores que hay que cargar: A de 10 elementos y B de 17 elementos y tengo que cargar un tercer vector C con los elementos de A y B, pero de la siguiente forma:

Va un elemento de A, seguido de uno de B. Cuando se terminan los elementos de A, se continua poniendo en C los elementos faltantes de B.

Estuve averiguando y algunos me dijeron recorrer el vector C de 2 en 2, pero cuando intento hacerlo me carga los elementos de B solamente.

Aquí va el código que estaba realizando:

Código:
Proceso vector
        Dimension A[10]
        Dimension B[17]
        Dimension C[27]
        // Carga vector A
        Para i<-1 Hasta 10 Hacer
                A[i]<-azar(100)+1;
        FinPara
        // Carga Vector B
        Para i<-1 Hasta 17 Hacer
                B[i]<-azar(100)+1;
        FinPara
        Escribir ""
        Escribir "Vector A"
        Para i<-1 Hasta 10 Hacer
                Escribir A[i]
        FinPara
        Escribir ""
        Escribir "Vector B"
        Para i<-1 Hasta 17 Hacer
                Escribir B[i]
        FinPara
        //////////////////
       
        Para w<-1 Hasta 10 con paso 2 Hacer
                Para i<-1 Hasta 27 Hacer
                         C[w]<-A[i]
                         C[w]<-B[i]
                FinPara
        FinPara
       
        Escribir ""
        Escribir "El vector C queda: "
        Para j<-1 hasta 27 Hacer
                Escribir C[j]
        FinPara
FinProceso


Por mas que he intentado no se como resolver esa parte.

Agradeceria cualquier sugerencia. Gracias

 Perfil Email  

Desconectado
Forista Distinguido
Forista Distinguido
Avatar de Usuario

Registrado: Sab Oct 09, 2004 11:00 pm
Mensajes: 1299

Nota Publicado: Dom Nov 13, 2011 4:01 pm 
Arriba  
Tomando tu mismo algoritmo y el planteo, basta con agregar la carga del vecor B:

Citar:
Para w<-1 Hasta 10 con paso 2 Hacer
Para i<-1 Hasta 27 Hacer
C[w]<-A[i]
C[w]<-B[i]
FinPara
FinPara


Deberías cargarlo de a 1. No sé si se te permiten usar condicionales, para chequear que quedan o no elementos en el vector. Tampoco sé si te permiten recortarlo (eliminar elementos).
En cualquier caso, debería funcionar:

Código:
Para w<-1 Hasta 10 con paso 1 Hacer
                         C[w]<-A[i]
                         C[w]<-B[i]
                FinPara
          Para w<-11 Hasta 17 con paso 1 Hacer
                         C[w]<-B[i]
                FinPara
        FinPara


Un par de notas:

- No sé, en ese pseudocódigo, si habrá manera de contar los elementos del vector, o si en el enunciado siempre sabes cuántos elementos tiene cada vector. Pero ese es otro tema.
- Comienzas el conteo de elementos en 1. Si así te lo enseñaron, está bien. La mayor parte de los lenguajes de programación, sin embargo, consideran el primer elemento el [0].

 Perfil  

Desconectado
Forista Distinguido
Forista Distinguido
Avatar de Usuario

Registrado: Jue Abr 26, 2007 11:00 pm
Mensajes: 1426

Nota Publicado: Dom Nov 13, 2011 4:22 pm 
Arriba  
Aclaro que desconozco el lenguaje así que ni siquiera se si la sintaxis esta bien o el ejemplo funciona, pero el algoritmo que a mí se me ocurre sería:

Código:
tamanoA <- 10
tamanoB <- 17
tamanoC <- tamanoA + tamanoB
j <- 1

Para i <- 1 Hasta tamanoC Hacer
    Si i < tamanoA
        C[j] <- A[i]
        j <- j + 1
    FinSi

    Si i < tamanoB
        C[j] <- B[i]
        j <- j + 1
    FinSi
FinPara

_________________
"Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit."

"Finibus Bonorum Et Malorum", Cicerón

 Perfil WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 3 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO