Sie sind auf Seite 1von 10

ARREGLOS DE UNA DIMENSIN

Los ejercicios de programacin deben resolverse utilizando funciones que modularicen las
soluciones.

1. Suponga las siguientes declaraciones:

int puntos [500];


int prueba, menor, indice;

Cul segmento de programa encontrar el valor ms pequeo de este arreglo y


almacenar el subndice del elemento donde est guardado este valor?

a) for (prueba = 0; prueba < 500; prueba++)


if (puntos[prueba] < menor)
menor = puntos[menor];

b) for (prueba = 0; prueba < 500; prueba++)


if (puntos[prueba] < menor)
menor = prueba;

c) menor = puntos[0];
for (prueba = 1; prueba < 500; prueba++)
if (puntos[prueba] < menor)
menor = puntos[prueba];

d) indice = 0;
for (prueba = 1; prueba < 500; prueba++)
if (puntos[prueba] < puntos[indice])
indice = prueba;

e) indice = 0;
for (prueba = 1; prueba < 500; prueba++)
if (puntos[prueba] < indice)
indice = prueba;

Arreglos de Una Dimensin 42


2. Sean los datos enteros:

n, k (en la primera lnea)


a0 (en la segunda lnea)
a1 (en la tercera lnea)
.
an-1 (en la ltima lnea)

Con: |k| n; 1 n 50

Elabore un programa completo que resuelva progresivamente por funciones cada


uno de los siguientes incisos:

a) Leer los datos y almacenarlos en un arreglo vec, de tal manera que


queden:

vec
a0 a1 . . . an-1

b) Copiar los datos a otro arreglo llamado inverso, de tal forma que queden
almacenados como se indica a continuacin:

inverso
an-1 . . . a0

c) Reemplazar cada ai en vec por (ai * 2i) sin utilizar la funcin de potencia y
optimizando el nmero de operaciones:

vec
ao* 20 (a1* 21) . . .

d) Correr los elementos del vec anterior

|k| lugares a la derecha si k > 0, y


|k| lugares a la izquierda si k < 0

Al correr los elementos, Elabore entrar ceros a los lugares vacos; as, si k = 2 se
pierden los dos ltimos datos (an-2 y an-1) y el arreglo quedara:

0 0 ao a1 . . . an-3

3. Los tres arreglos reales x, y y z, tienen almacenados m, n, y o valores,


respectivamente. Elabore un programa que lea los datos de cada arreglo y calcule
e imprima las sumatorias de todos sus elementos, para lo cual deber contar con
una funcin para sumar todos los elementos de un arreglo y una funcin para leer
los datos de un arreglo. Considere que las dimensiones de los arreglos se leen en
el programa principal con 1 m,n,o 50.

Arreglos de Una Dimensin 43


4. Se tiene el arreglo

ventas
0 1 2 10 11
vene vfeb vmar . . vnov vdic

donde se almacenan las ventas mensuales de una empresa.

Elabore una funcin que regrese los siguientes datos:

a) En qu mes se dieron las ventas mximas de la empresa?


b) A cunto ascendieron las ventas mximas?
c) Cul fue el total de las ventas?
d) Cul fue el promedio de las ventas?

5. Dados los datos:

n, a0,a1,. . .,an-1, b0,b1, . . . ,bn-1


con: 1 n 50, entero
ai, bi reales

Elabore funciones por separado para calcular:

n -1


i0
a i * bi

n -1

i0
a i * bn 1i

Requiere de arreglos? Cuntos? Por qu?

6. Una fbrica de llantas quiere un programa para calcular el costo total de


produccin de los n modelos de llantas que produce. Los datos con que cuenta
son los siguientes:

n, ao, a1, ..., an-1, c0, c1, ..., cn-1,

con: 1 n 50, entero


ai enteros
ci enteros

Donde:

ai representa la cantidad de llantas producidas del modelo i


ci representa el costo de produccin de una llanta del modelo i

7. Se tienen los siguientes datos:

Arreglos de Una Dimensin 44


n, ic0, ic1, ..., icn-1
con: 1 n 32, entero
ici reales

Donde:

ici representa el ingreso per cpita de cada entidad federativa de la Repblica


Mexicana.

Elabore una funcin para calcular e imprimir el ingreso per cpita promedio de la
Repblica, as como para escribir cuntas entidades tienen un ingreso menor que
este promedio y cuntas lo tienen mayor o igual.

8. Sean los datos:

n, x1, x2, . . . , xn
con: 1 n 25, entero
xi reales

Elabore un programa que realice funciones por cada inciso y la funcin principal
que las mande llamar e imprima los resultados:

a) Lea los datos y almacene los xi en un arreglo.


b) Calcule e imprima la media de los datos dada por la frmula:

n
xi
x i 1n
c) Calcule e imprima la desviacin estndar dada por la frmula:

n
( xi x) 2
a i 1
n

9. Un casino desea llevar a cabo unas estadsticas sobre el juego de ruleta. Se


solicita un programa modular que cuente el nmero de veces que cada nmero es
ganador en una jornada y al final del da imprima un reporte con lo siguiente:

a) Cuntas veces result ganador cada elemento de la ruleta?


b) Cules elementos no resultaron ganadores en toda la jornada?
c) Cul fue el nmero de cada color que gan ms veces?(suponga que slo
hay uno)
d) Cul fue el elemento que gan en ms ocasiones?

Recuerde que la ruleta est formada por 70 elementos. Existen del 1 al 34 rojos,
del 1 al 34 negros, el 0 y el 00. El casino desconoce el nmero de juegos de una
jornada. Los datos que el casino proporcionar son los siguientes:

Arreglos de Una Dimensin 45


nmero, color
nmero, color
...
-1, X

Donde:
nmero representa el nmero correspondiente al elemento ganador
con 0 nmero 34
donde el 0 se representa como un 0 rojo y el 00 se representa como
un 0 negro.
color representa el color correspondiente al elemento ganador.
con: R = rojo, N = negro
-1,X representan el fin de la jornada

10. Una compaa ha clasificado a sus n (1 n 50) empleados dentro de los grupos
1 y 2. Cada empleado del grupo 1 recibir, a partir de ahora, un aumento de
$250.00 a la semana sobre su sueldo actual, mientras que a cada uno de los del
grupo 2 slo se le dar $150.00 adicionales por semana. La informacin que se
proporciona de cada empleado es: clave del empleado (comprendida entre 100 y
2500, inclusive), grupo al que pertenece (1 o 2) y sueldo semanal actual (entre
$300.00 y $6000.00). Si un empleado del grupo 1 con el nuevo sueldo gana
semanalmente ms que el sueldo promedio del grupo, entonces debe cambiar al
grupo 2.

Elabore un programa modular que:

a) Lea la informacin de los n empleados e imprima la clave, grupo y sueldo


semanal nuevo para cada empleado, actualizando el grupo si es el caso.
b) Calcule el sueldo promedio de los empleados por grupo y calcule tambin
el promedio general de todos, sin considerar el grupo.
c) Indique cuntos empleados cambiaron del grupo 1 al 2.

11. Se tienen n alumnos (1 n 50) de los cuales se conoce la clave y la calificacin


final. Elabore un programa modular que:

a) Lea dicha informacin, la cual se da ya ordenada en forma descendente,


con respecto a la clave.

b) Imprima la clave y calificacin de todos los alumnos que obtuvieron


calificacin superior al promedio del grupo.

c) Imprima la calificacin que obtuvieron los alumnos cuyas claves


proporcionar el usuario. Se sabr que el usuario ya no quiere conocer ms
calificaciones cuando, en lugar de una clave, proporcione un cero. Utilice
bsqueda binaria para buscar las claves que el usuario solicita.

12. Se tiene un conjunto de n parejas de datos Xi, Yi donde cada pareja representa las
coordenadas del punto i de un polgono irregular de n lados. Suponga que las
coordenadas se proporcionarn en orden adyacente. Elabore una funcin para
leer el nmero de lados del polgono, leer las coordenadas de los puntos y obtener
el rea del polgono irregular utilizando la siguiente frmula:

Arreglos de Una Dimensin 46


Area = [(X0+X1)*(Y0-Y1 ) + (X1+X2)*(Y1-Y2)+. . .+ (Xn-1+X0)*(Yn-1-Y0)]/2

Suponga que los Xi ,Yi son reales y n es entero con 1 n 50.

13. Elabore una serie de funciones para leer una serie de n datos desordenados,
almacenarlos en el arreglo val (de mximo 50 localidades), ordenarlos de manera
creciente, utilizando el algoritmo de seleccin directa, en ese mismo arreglo y, por
ltimo, imprimirlos en orden.

val
0 1 2 n-1 49
vo v1 v2 . . vn-1 ...

Variante: En el arreglo final no debe haber datos repetidos.

14. Partiendo del ejercicio anterior, elabore un programa que contenga funciones para:

a) Buscar un valor x dentro del arreglo utilizando el algoritmo de bsqueda


secuencial. La funcin debe regresar como resultado la posicin en la que
se encuentra el valor buscado. Si x no se encuentra en el arreglo, la funcin
calcula la posicin en la que debera encontrarse y regresa: (
posicin 1).

b) Buscar un valor x dentro del arreglo utilizando el algoritmo de bsqueda


binaria.

c) Insertar un valor x en el arreglo de tal forma que se siga conservando el


orden ascendente de los valores. Al insertar se debe verificar que haya
espacio libre y que x no exista en el arreglo. La funcin debe regresar como
resultado 1 si se insert x en el arreglo, 0 si x ya exista en el arreglo y 1 si
no existe espacio libre en el arreglo.

d) Eliminar un valor x del arreglo, compactando si es necesario para que no


haya espacios libres entre valores. La funcin debe regresar como
resultado 1 si se elimin x, 0 si x no se encontraba en el arreglo y 1 si el
arreglo estaba vaco.

e) Sustituir un valor x ya existente en el arreglo con un valor y de tal manera


que el arreglo siga conservando su orden creciente. La funcin debe
regresar como resultado 1 si se hizo la sustitucin, 0 si x no se encontraba
en el arreglo y 1 si el arreglo estaba vaci.

15. Elabore un programa modular que lea dos arreglos de diferente nmero de
elementos, los ordene y posteriormente los mezcle en un tercer arreglo guardando
el orden.

Restriccin: no se deben unir los arreglos en desorden, ni copiar un arreglo


completo, es decir, los elementos que se almacenen en el tercer arreglo se deben
ir guardando en orden.

Arreglos de Una Dimensin 47


16. Elabore un programa modular para leer un arreglo cuyos datos se proporcionan en
orden ascendente, leer un segundo arreglo cuyos datos se proporcionan en orden
descendente, mezclarlos en un tercer arreglo cuyos datos aparezcan en orden
ascendente, y por ltimo, imprimir el arreglo resultante.

17. Elabore un programa modular que lea los datos de dos polinomios como se explica
posteriormente y que, utilizando un men, efecte las siguientes operaciones
sobre polinomios:

a) Suma.
b) Resta.
c) Multiplicacin.

Al seleccionar el usuario una de estas tres opciones dar los polinomios sobre los
cuales se realizar la operacin solicitada.

Los datos que el usuario proporcionar son los coeficientes (reales) y los
exponentes (enteros, 0 y 15) de ambos polinomios, los cuales pueden o no
estar ordenados. El final de cada polinomio est dado por un 1 como coeficiente
y como exponente.

Los trminos del polinomio resultante debern ser desplegados en orden


descendente, observando el siguiente formato:

cX ^e

Donde:

representa el signo del trmino


c representa el coeficiente del trmino
^ significa exponenciacin
e representa el valor del exponente

Por ejemplo, suponga que los datos son:

2.5 3 -4 2 6.5 1 3 4 -1 -1
-2 2 -3 4 9.1 1 6.9 8 -1 -1

Entonces, los polinomios que se van a operar son:

+2.5X3 - 4X2 + 6.5X1 + 3X4


-2X2 - 3X4 + 9.1X1 + 6.9X8

De tal forma que el resultado de la suma es:

6.9X8 + 2.5X3 - 6X2 + 15.6X1

y se desplegara como:

+ 6.9X^8 + 2.5X^3 - 6X^2 + 15.6X^1

Arreglos de Una Dimensin 48


18. Dado un nmero natural n de 4 cifras, no todas iguales, encuentre e imprima el
nmero mayor y el menor que se puede formar con las mismas cifras.

Por ejemplo, si n = 6174, entonces el nmero mayor que se puede formar es 7641
y el menor 1467.

19. Elabore un programa que utilizando la criba de Eratstenes encuentre los


nmeros primos entre 1 y 999, la cual funciona como sigue:

a) Inicialice todos los elementos de un arreglo (comenzando en el ndice 2),


de 1000 enteros, con 1 (verdadero). Los elementos con ndices 0 y 1 deben
inicializarse con 0 (falso).

b) Comience con el ndice i=2 del arreglo. Recorra el arreglo, del elemento i+1
al ltimo, y cada vez que encuentre un elemento cuyo valor sea 1, pngale
0 si su ndice es mltiplo de i. Vuelva a hacer lo mismo, pero ahora
considerando el primer elemento que sea 1 y cuyo ndice sea mayor a i.
Contine este proceso hasta que haya probado todos los elementos iguales
a 1.

Cuando se haya terminado este proceso, los ndices del arreglo cuyos elementos
sean 1 son primos.

20. Se necesita programar una materia para el prximo semestre. En principio se han
establecido 10 grupos para la misma. Para conocer cuntos alumnos hay
interesados en cada uno de ellos, se les pidi que votaran indicando su
preferencia. La informacin se proporciona de la siguiente manera:

clavealumno votogrupo
clavealumno votogrupo
.
.
.
-1 -1

donde:

clavealumno es un entero positivo que representa la clave nica del alumno.


votogrupo es un entero entre 1 y 10 para elegir al grupo que prefiere el alumno.

Se desea conocer el total de alumnos que votaron por cada grupo de la materia,
para saber cules grupos se abren o se cancelan.

a) Haga una funcin que calcule las suma de votos y regrese cuntos
alumnos votaron en total.
b) Haga una funcin que elimine los grupos que tienen menos de 25 alumnos.
c) Haga una funcin que imprima los grupos que pertenecern abiertos. (son
aquellos que tienen 25 o ms alumnos)
d) Haga la funcin principal que mande llamar las dos funciones anteriores.

Arreglos de Una Dimensin 49


21. En estadstica, la moda de una serie de nmeros es aquel nmero que aparece
con ms frecuencia. Por ejemplo, dada la lista 1,2,2,3,6,4,7,5,4,6,9,4, la moda es
4, ya que aparece tres veces. Calcule e imprima la moda. Si todos los nmeros
son diferentes entonces no hay moda, con lo cual se debe indicar que hubo error.
Haga un programa completo en Java que deber tener una funcin que lea la serie
de nmeros, otra funcin que reciba como parmetro la serie de nmeros y arroje
la moda o si no la hay 1 y la funcin principal que mande llamar las anteriores e
imprima la moda (nmero que mas veces se repiti en caso de haber dos iguales o
ms mencione el primero).

22. Se tienen los siguientes datos

n
x0 f (x0)
x1 f (x1)
.
.
.
xn-1 f (xn-1)
valx

donde:
n es el nmero de xi y f(xi) que se proporcionarn (1<= n <= 50)
xi son los valores de x (en orden creciente)
f(xi) es el valor de una funcin para xi
valx es el valor de x con el que se va a trabajar.

Realiza un programa en Java que:

Lea en arreglos paralelos los valores de x y f(x).


Si existe una xi = valx, imprima f(valx).
Si no existe una xi = valx, calcule f(valx) de acuerdo a la frmula que se da a
continuacin, inserte este nuevo valor de x (valx) as como el valor calculado
f(valx) en sus respectivos arreglos manteniendo el orden creciente de las xs sin
utilizar ningn algoritmo de ordenamiento, e imprima el valor calculado de f(valx) .

Suponiendo que valx debe insertarse en la posicin k,


si k=0 entonces f(valx)=f(x0)
si k=n entonces f(valx)=f(xn-1)
en cualquier otro caso
f(valx) = f(xk-1) + ( (valx - xk-1)* (f(xk) f(xk-1))/(xk- xk-1) )

23. Una cooperativa de productores de naranjas almacena el total de toneladas


cosechadas durante el ltimo ao en N parcelas (1 N 50). En cada parcela se
pueden cultivar dos tipos de naranjas: para jugo y para comer. Se conoce el total
de toneladas cosechadas de cada uno de los tipos de naranjas. Si en una parcela
no se hubiera cosechado alguno de los tipos, entonces habr 0.

Arreglos de Una Dimensin 50


La informacin se almacena en un arreglo como se muestra en el siguiente
ejemplo:

Naranjas para Naranjas para


jugo comer

100 500 600 0 800 700 ... ...


0 1 2 3 4 5 2N-2 2N-1 MAX -1

Parcela 1 Parcela 2 Parcela 3 Parcela N

En la parcela 1 se cosecharon: 100 toneladas de naranjas para jugo y 500


toneladas de naranjas para comer.
En la parcela 2 se cosecharon: 600 toneladas de naranjas para jugo y 0 toneladas
de naranjas para comer.

NOTA: Observe que la informacin de una misma parcela ocupa posiciones


consecutivas en el arreglo.

Se le pide que haga un programa en C, usando mdulos, que pueda:

a) Leer la informacin: N (1 N 50) y las toneladas por tipo de naranja de cada


una las parcelas.
b) Calcular e imprimir el total de la produccin por parcela.
c) Eliminar la informacin de una parcela. El dato requerido para esta opcin es el
nmero de parcela a eliminar.
d) Buscar e imprimir el nmero de una parcela (si hubiera) que no haya tenido
produccin de ninguno de los tipos de naranjas. Es decir, durante el ltimo ao
su produccin total fue 0.

Arreglos de Una Dimensin 51

Das könnte Ihnen auch gefallen