You are on page 1of 14

ARREGLOS UNIDIMENSIONALES VECTORES

Un arreglo unidimensional es una estructura de datos que pueden almacenar un conjunto


finito y organizado de datos del mismo tipo, de acuerdo un tamao especificado al
momento de declarar las variables del programa.
Por ejemplo: Supongamos que declaramos un vector llamado A con un tamao de 10 que
va a guardar datos de tipo entero. Inmediatamente se abre espacio en la memoria,
semejante al siguiente cuadro.

A
1

10

El arreglo unidimensional es como si tuvisemos 10 variables que guardan los 10 datos a


la vez, pero en diferentes posiciones: A[1] guarda el primer elemento, A[2] el segundo,
A[3] el tercero y as sucesivamente. El objetivo de esta estructura es no perder los valores
de la variable. Porque como habamos visto hasta el momento las variables simples
almacenan el ltimo valor los dems se van perdiendo.
Para incluir datos en el vector se puede ir leyendo sus datos as:
Enteros A[10], I
Lea n
PARA
i = 1, n HAGA
LEA A[ i ]
FIN-PARA

10

-8

12

90

-4

generando los datos, segn requieran. Por ejemplo si queremos guardar los nmeros
impares
Enteros A[10], I
lea n
PARA
i = 1, n HAGA
A[i] 2 * i - 1
FIN-PARA

A
1

11

13

15

17

19

Otro ejemplo para generar un vector.


Hacer un algoritmo para crear un vector de tamao N con los primeros
trminos de la serie de Fibonaci:
Ejemplo para N=10
A= <1, 1,2,3,5,8,13,21,34, 55>

INICIO
Enteros A[50], I, N
Lea N
A[1] = 1
A[2] = 1
Para I= 3, N, 1
A[i] = A[I-1] + A[I-2]
Fin-para
FIN
Para acceder los elementos del vector podemos hacerlo:
a) en forma directa.
Por ejemplo Escriba A[3], el resultado sera 5
Por ejemplo Escriba A[n], el resultado sera 19
Por ejemplo Escriba A[n-2], el resultado sera 15
b) Ir recorriendo todo el vector y mostrar sus elementos cambiarlos con otros
valores
PARA

i = 1, n HAGA
Escriba A[ i ]

FIN-PARA
EJERCICIOS DE VECTORES RESUELTOS
1.Lea un nmero entero y genere dos vectores, uno con los dgitos pares de un nmero y
otro con los dgitos impares.
Ejemplo : 45761438
A <4,6,4,8>
B <5,7,1,3>
Lea Num
Mq
(Num <> 0)
Dig = Num % 10
Si
Dig % 2 = 0
I=I+1
A[I] = Dig
Si-no
J=j+1
B[J] = Dig

Fin-si
Num = Num /10
Fin-Mq
2. Hacer un algoritmo que lea dos vectores: el vector A de tamao N y el vector B de
tamao N. Verifique si todos los elementos de el vector B estan en el vector A
Ejemplo
Si A=<3,6,8,1,5,12,7,9,14>
B=<1,12,5,9>
Para este caso el algoritmo debe escribir todos los elementos de B estn en A
Lea N,M
// Suponemos que los vectores ya estn ledos //
I1
SW10
MQ
(I<=N y SW1= 0)
sw0
j1
MQ
(sw=0 y J <= M)
Si
A[I] = B[j]
sw1
Fin-si
J j+1
FIN-MQ
Si
(sw= 0)
Escriba No Todos los elementos del vector A estn en el vector B
SW1 1
Sino
JJ+1
Fin-si
FIN-MQ
3. Hacer un algoritmo para crear un vector que almacene en cada posicin la suma de los
K primeros nmeros naturales, para K impar as: K=1, la suma es 1; K=3, la suma es 6;
K=5, la suma es 15; K=7, la suma es 29, etc. Entonces el vector es (1, 6, 15, 28, 45, 66,
99...). El vector debe tener N elementos.

Para

I=1, N, 1
Suma 0
Para k=1, 2*I-1, 1
Suma Suma + k
Fin-Para
C[I] Suma
Fin-Para

Resuelva el siguiente ejercicio.


Dado un vector de tamao N, se desea determinar el valor mximo y el valor mnimo de
los elementos que conforman el arreglo, adems se debe decir las ocurrencias de los
mismos dentro del vector tanto del mximo como del mnimo.
Por ejemplo:
A= < 6, 80, 12,80, 5, 5, 7, 30, 40, 50, 80, 13,80, 3, 80 >
El mayor = 80
El menor = 5
Repeticiones del nmero mayor= 4
Repeticiones del nmero menor= 2
4 Escriba la posicin de la ltima vez que aparezca un elemento elem en un vector de
tamao N.
Lea elem, N
// Suponga que ya se ley el vector//
Para I=1,N,1
Si
A[I] = elem
Pos I
Fin-si
Fin-para
Escriba La posicin donde se encuentra la ultima vez es la , Pos

Hacer un algoritmo que sume dos vectores posicin por posicin empezando desde el
ltimo elemento de cada uno de los vectores, luego se toma el penltimo, el
antepenltimo hasta llegar al primero como se observa en la figura: Los datos de cada
posicin de los dos vectores no se pasan de 9. El resultado guardarlo en un nuevo
vector.

Ejemplo

V1 = < 9, 4, 3, 7, 9, 8, 5>
V2= < 6, 7, 5, 3, 6, 8>

El vector resultante ser:


V3 = < 1, 0, 1, 1, 3, 3, 5, 3>

Dado un vector de tamao N que contiene los cdigos de los estudiantes que
perdieron Matemticas y un vector de tamao M con los estudiantes que perdieron
Fsica. Hacer un algoritmo que cree un vector con los estudiantes que solamente
perdieron Matemticas.

Dado un vector de tamao N. Escriba las siguientes respuestas:


Cuantos son nmeros primos
Suma de los nmeros del vector que se leen igual de Izquierda a derecha que de
derecha a izquierda( Palindrome).
Suma de los pares.
Cuantos son perfectos
Para

I = 1, N,1
Lea vec[I]
sw0
Si
(vec [I] = 2 vec[I] =1)
Contprimos Contprimos +1
Si-no
Si
((vec[I] mod 2) <> 0)
J3
MQ

( (sw= 0) y ( j <=
Si

)) Haga

(vec[I] mod j = 0) entonces


sw1

fin-si
jj+1
Fin-MQ
Si
sw= 0
Contprimos Contprimos+1
Fin-si
Fin-si
Fin-si

Suma 0
Para J = 1, vec[I]/2, 1
Si
( vec[I] DIV J = 0)
Suma Suma + j
Fin-si
Fin-para
Si
(vec[I]= Suma) entonces
contperfectos contperfectos +1
Fin-si
Si

(vec[I] % 2) ent
Sumpares Sumpares + Vec[I]

Fin-si
Nuevo0
Copia vec[i]
MQ
vec[I]<>0
dig vec[I] % 10
vec[i] vec[I] / 10
Nuevo Nuevo*10+ dig
FIN-MQ

Si

(Copia = Nuevo)
Sumapalindrome = Sumapalindrome + Copia

Fin-si
FIN-PARA
Escriba Contprimos, contperfectos, Sumpares, Sumapalindrome.

Calcular la desviacin estndar (DE) de los elementos de un arreglo de enteros, de


tamao n, sabiendo que la formula es:

DE =

m= (Xi)/n
9. Hacer un algoritmo dado un vector de tamao N, busque si se encuentra un elemento
Suponga que en el vector no se repiten los elementos.
4

12

Si el elemento a buscar es el nmero 7 primero lo ubicamos y luego lo escribimos


INICIO
Lea N
Para I=1,N,1
Lea A[I]
Fin-Para
Lea elem
I1
SW0
MQ
(SW= 0 y I<=N)
Si
A[I] = elem
SW 1
Si-no
I I +1
Fin-si
Fin_MQ
Si
SW=1
Escriba No se encontr el elemento, en la posicin:, I
Fin-si
FIN
FIN

MAS EJERCICIOS PRUEBALOS SI FUNCIONAN:


1. Hacer un algoritmo que escriba si un elemento si un elemento se encuentra en un
vector.

INICIO
ESCRIBA "Digite tamao del vector "
LEA n
PARA ( i = 1, n ) HAGA
ESCRIBA "Digite un nmero "
LEA v ( i )
FIN-PARA
ESCRIBA "Digite nmero a buscar "
LEA x
sw = 0
j =0
MQ ( ( sw = 0 ) y ( j <= n ) ) HAGA
SI ( num = v ( j ) ) ENTONCES
ESCRIBA "El nmero ", x , " fue encontrado"
ESCRIBA "En la posicin", j
sw = 1
FIN-SI
FIN-MQ
SI ( sw = 0 ) ENTONCES
ESCRIBA "El nmero no se encontr en el vector"
FIN-SI
FIN
7. Que hace el siguiente algoritmo?
INICIO
ESCRIBA "Digite tamao del vector "
LEA n
PARA ( i = 1, n ) HAGA
ESCRIBA "Digite un nmero "
LEA v ( i )
FIN-PARA
m = n/2
PARA ( i = 1, m ) HAGA
Temp V( i )
V( i ) V( n-i+1 )
V( n-i+1 ) Temp
FIN-PARA
PARA i = 1,n HAGA
ESCRIBA V( i )
FIN-PARA
FIN
Hacer un algoritmo que adicione un elemento al final de un vector, verificando que el
vector no este lleno.
INICIO
ESCRIBA "digite tamao del vector "
LEA n

ESCRIBA "Digite cuantos elementos va a almacenar "


LEA m
PARA ( i = 1, m ) HAGA
ESCRIBA "Digite el elemento v( i )
lea v ( i )
FIN-PARA
SI ( m < n ) ENTONCES
ESCRIBA "Digite elemento del vector que va a adicionar "
LEA x
v (m + 1) = x
SINO
ESCRIBA "El vector esta lleno"
FIN-SI
FIN

2. Hacer un algoritmo que sustituya un elemento de un vector buscando dicho elemento


y remplazarlo por uno nuevo.
INICIO
ESCRIBA "Digite tamao del vector"
LEA n
PARA ( i = 1, n ) HAGA
ESCRIBA "Digite un nmero"
LEA v ( i )
FIN-PARA
ESCRIBA "Elemento a buscar en el vector "
LEA x
SW = 0
j=1
MQ ( ( sw = 0 ) and ( j <= n ) ) HAGA
SI ( x = v ( j ) ) ENTONCES
ESCRIBA "Lo remplazara por "
LEA rem
v ( j ) = rem
sw = 1
FIN-SI
j = j +1
FIN-MQ
SI ( sw = 0 ) ENTONCES
ESCRIBA "El elemento no se encuentra en el vector"
FIN-SI
FIN

Ejercicios de Vectores
1. Leer un vector de tamao 1000 con N elementos (debe pedrsele al usuario el valor para
N), decir cul es el nmero mayor, y cul es el menor.
2. Leer un vector de tamao 1000 con N elementos (debe pedrsele al usuario el valor para
N), e invertirlo. Por ejemplo, si el vector es [1 6 3 2 5 4], el vector invertido es [4 5
2 3 6 1].
3. Realizar un algoritmo que lea un vector V y coloque en otro vector Z solo aquellos
elementos de V que sean mltiplos de 5.
4. Realizar un algoritmo que pida dos vectores de igual tamao N, y en un tercer vector
coloque el menor de los nmeros en cada una de las posiciones de ambos vectores.
5. Realizar un algoritmo que lea un vector de tamao N, y mostrar la suma de los valores
pares y la resta de los valores impares del vector.
6. Realizar un algoritmo que lleve las estadsticas de los nmero obtenidos en el baloto
(son 6 nmeros). El algoritmo debe generar 6 nmeros de manera aleatoria (x =
rand()), donde cada nmero puede ser entre 1 y 45, por cada uno de N diferentes
sorteos. Al final de todos los sorteos, el algoritmo debe mostrar el nmero que sali la
mayor cantidad de veces y el nmero que sali la menor cantidad de veces.
7. Realizar un algoritmo que lea un vector V y coloque en otro vector Z solo aquellos
elementos de V que sean nmeros primos. Al final deben escribir el vector resultante.
8. Realizar un algoritmo que lea un vector A de tamao N. El algoritmo debe crear un
vector B donde se eliminen las repeticiones que existan en A. El algoritmo debe escribir
al final el tamao de B. Por ejemplo, si A = [4 5 2 6 5], B entonces es [4 5 2 6],
tamao es 4. Si A = [2 5 2 3 6 5], B = [2 5 3 6], tamao es 4.
9. Descomponer un nmero en sus potencias de 2 y guardar estas en un vector. Un nmero
se debe descomponer siempre acumulando las potencias de 2 menores que el mismo
nmero, y restando del nmero la potencia que se est teniendo en cuenta. Por ejemplo:
25. Mxima potencia menor que 25: 16. 25 16 = 9. Mxima potencia menor que 9: 8.
Mxima potencia menor que 1: 1. Por lo que 25 = 16 + 8 + 1.
10. Realizar un algoritmo para la multiplicacin egipcia. Si deseamos multiplicar A x B:
a. Primero se debe descomponer A en sus potencias de 2 y guardarlas
en un vector.
b. En la primera columna se escribe la serie: 1, 2, 4, 8...(2n < A)
(obteniendo cada cifra sumando todas las precedentes), escribiendo
hasta que el ltimo nmero no supere la primera cifra: A.
c. En la segunda columna se escribe la serie: B, 2B, 4B... (obteniendo
cada cifra sumando todas las precedentes).

d. En una tercera columna se marcan las cifras, de la primera columna,


cuya suma resulte igual a A (de mayor a menor).
e. El resultado es la suma de las cifras marcadas de la segunda
columna.
Ejemplo: 41 59
1
59
______________
1
59
2
118
4
236
8
472
16
944
32
1888
______________
41
2419

X
X
X

como (32 + 8 + 1 = 41)


el resultado ser (1888 + 472 + 59)

11. Leer un vector de tamao N y validar que solo sean ingresados nmeros de un solo
dgito. Despus, generar un nmero de N cifras a partir de los nmeros en cada una de
las posiciones del vector. Si por ejemplo, el vector tiene [1 6 3 2 5 4], el nmero
generado debe ser 163,254.
12. Leer un nmero entero N y generar un vector de tamao N, tal que sea simtrico.
Ejemplo:

Si N=6

0
0

2 1 0

1 2

Si N=7

1 2

2 1 0

Si N=11

1 2

2 1 0

13. En una materia de una clase un profesor debe digitar las notas del primer, segundo
parcial y el final de N estudiantes. Realizar un algoritmo que pida las notas para los 3
exmenes y los N estudiantes. Debe decir cul fue la menor nota, la mayor nota, el
promedio de cada examen y el promedio de los 3 exmenes.
14. En una Institucin de Educacin se inscribieron 150 estudiantes, al momento de la
matrcula cada estudiante debe escoger a qu grupo quiere pertenecer de los tres que
hay: 1. Informtica, 2. Matemtica, 3. Economa. Cada uno de los estudiantes se
identifica con un cdigo. Elabore un algoritmo que en un vector llamado COD
almacene el cdigo de cada alumno, posteriormente almacene en otro vector llamado
GRUPO en la posicin idntica a su cdigo a qu grupo pertenecer. Ordenar el vector
COD y a partir del vector GRUPO crear tres vectores uno que contenga solo los

cdigos de los estudiantes que pertenecen a Informtica, otro con los que pertenecen a
Matemticas y el ltimo con los que pertenecen a Economa. Mostrar los vectores.
15. El profesor de algoritmia posee tres vectores los cuales contienen notas de los exmenes
parciales. PP es el vector del primer parcial (25%). SP es el vector del segundo parcial
(30%) y TP es el vector del tercer parcial (25%). Cada casilla (posicin) del vector
corresponde a un estudiante. Por ejemplo: PP[7] es la nota del primer parcial del
estudiante # 7. SP[7] es la nota del segundo parcial del estudiante # 7, y lo mismo con
TP.
16 Se debe generar un vector AC que contenga el acumulado de cada estudiante y otro
vector F (20%) el cual va a contener la nota que le hace falta a cada estudiante para ganar la
materia. Luego de crear el vector F verificar si:
-

El estudiante ya lleva aprobada la asignatura, entonces cambie la informacin


correspondiente de ese estudiante por un cero (0) en su respectiva posicin en el
vector F.

El estudiante que ya la reprob, entonces cambie la informacin correspondiente de


ese estudiante por un -1 en su respectiva posicin en el vector F.

17 Realizar un algoritmo que lea un vector de N posiciones, y muestre la sumatoria de los


nmeros situados en posiciones pares, y la sumatoria de los nmeros situados en posiciones
impares. Adems, mostrar el promedio de los pares, y el promedio de los impares.
18. Escribir un algoritmo que lea un vector de N posiciones, y calcule la varianza de estos
nmeros. Esta se calcula as:
Donde
es el promedio de los valores
dentro del vector, y
es cada uno de
estos valores.
19. Realizar un algoritmo que lea dos vectores de un mismo tamao N, y diga si estos
tienen los mismos contenidos o no. Por ejemplo, los vectores A y B tienen los mismos
contenidos (no importa que estn desordenados). Como restriccin, no puede haber
nmeros repetidos dentro de un mismo vector.
A=

B=

20)Hacer un algoritmo para que dada la lista de notas de un curso ordenadas de mayor a
menor las escriba asignada a cada quien su puesto. Por ejemplo:

1.) 4.7

2.) 4.4

3.) 4.4

4.) 4.4

5.) 4.4

6.) 4.1

7.) 4.0

8.) 3.7

21. Hacer un algoritmo que sume dos vectores posicin por posicin empezando desde el
ltimo elemento de cada uno de los vectores, luego se toma el penultimo, el
antepenultimo hasta llegar al primero como se observa en la figura: Los datos de cada
posicin de los dos vectores no se pasan de 9. El resultado guardarlo en un nuevo
vector.
Ejemplo

V1 = < 9, 4, 3, 7, 9, 8, 5>
V2= < 6, 7, 5, 3, 6, 8>

El vector resultante ser:


V3 = < 1, 0, 1, 1, 3, 3, 5, 3>

1. Disear un algoritmo que lea una matriz A de n x n de nmeros enteros y genere


otra matriz B de (n+2) x (n+2) (cuyos elementos solo sern 1 y 0) as: si el elemento en
la posicin (i, j) de la matriz A es par entonces colocar 1 en la posicin (i+1, j+1) de la
matriz B, de lo contrario llenar con 0. A partir de la matriz B crear la matriz C de n x n
donde cada elemento (i, j) ser la suma de los nmeros que estn alrededor del elemento
en la posicin (i+1, j+1) de la matriz B.
Ejemplo:
Matriz A

Matriz B
Matriz C

2. Hacer una subrutina para generar una matriz con la forma y la


informacin mostrada en la figura para una matriz cuadrada de orden
N * N.
Ejemplos:
Si N = 6
Si N = 4

3. Un proveedor de servicios de Internet cobra a sus suscriptores $35.000 al mes por


tiempo ilimitado. Tambin tiene la opcin de cobro por minuto, el cual es de $100.00
los primeros 60 minutos, $50 del minuto 61 al minuto 180 y de $30 del minuto 181 en
adelante. Elabore la solucin, que lea el nmero de suscriptores de la compaa
(mximo 100) y en una matriz de 100 filas y 4 columnas:
a. Lea el nmero de suscriptor y lo almacene en la primera columna.
b. Lea que tipo de suscriptor es y en la segunda columna almacene el nmero 0
si se trata de un suscriptor ilimitado, o bien el nmero 1 si se trata de un
suscriptor por minuto.
c. En la tercera columna almacene 0, en caso de que sea un suscriptor
ilimitado. Si es un suscriptor por minutos, lea y almacene en dicha columna
el nmero de minutos utilizados en el mes.
d. Calcule y almacene en la cuarta columna el adeudo mensual de cada
suscriptor. Recuerde que para un suscriptor tipo ilimitado el adeudo es de
$35000
e. Imprima la matriz resultante.

4. Realice un algoritmo lea una matriz, y que despus escriba TRUE si una
matriz es un cubo mgico, y en caso contrario escriba FALSE. Se dice que
una matriz es un cubo mgico si el resultado de sumar los elementos de
todas las filas, de todas las columnas, la diagonal principal, diagonal
secundaria es el mismo. Ejemplo:

You might also like