0% encontró este documento útil (0 votos)
831 vistas7 páginas

Ejercicios Vectores 2

Este documento presenta una guía para estudiantes sobre programación II en la Universidad de Pamplona. Incluye ejemplos de problemas y funciones que los estudiantes podrían codificar en C para analizar y procesar vectores y arreglos de datos, incluyendo cálculos estadísticos, ordenamiento, búsqueda de patrones y más. El documento contiene 46 ejemplos de problemas y funciones que los estudiantes podrían implementar para practicar y mejorar sus habilidades de programación.

Cargado por

Danilo Roa Lopez
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
831 vistas7 páginas

Ejercicios Vectores 2

Este documento presenta una guía para estudiantes sobre programación II en la Universidad de Pamplona. Incluye ejemplos de problemas y funciones que los estudiantes podrían codificar en C para analizar y procesar vectores y arreglos de datos, incluyendo cálculos estadísticos, ordenamiento, búsqueda de patrones y más. El documento contiene 46 ejemplos de problemas y funciones que los estudiantes podrían implementar para practicar y mejorar sus habilidades de programación.

Cargado por

Danilo Roa Lopez
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Universidad de Pamplona 15

Facultad de Ingenierías y Arquitectura


Guía del Estudiante para Programación II – Segundo Semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------
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 información de una misma parcela ocupa posiciones consecutivas en el arreglo.
Se le pide que analice, diseñe y codifique un programa, usando módulos, que pueda:
Leer la información: N (1≤ N ≤ 50) y las toneladas por tipo de naranja de cada una las parcelas.
Calcular e imprimir el total de la producción por parcela.
Eliminar la información de una parcela. El dato requerido para esta opción es el número de parcela a eliminar.
Buscar e imprimir el número de una parcela (si hubiera) que no haya tenido producción de ninguno de los tipos de naranjas. Es
decir, durante el último año su producción total fue 0.

40-Hacer un programa en Lenguaje C para Leer dos vectores de 12 posiciones denominados prod1 y prod2. Dichos vectores
almacenarán la cantidad de unidades generadas de cada producto, mes a mes. Adicionalmente, leer un tercer vector denominado
costou de dos posiciones, el cual almacenara el costo unitario de los dos productos.
¾ Crear una función que permita: en un cuarto vector denominado costot de 12 posiciones, calcular y almacenar el costo de
la producción total, mes a mes, así:
¾ Costo Total = (Cantidad Unidades del Prod1* Valor Unitario Prod1) + (Cantidad Unidades del Prod2 * Valor Unitario
Prod2)
¾ Crear una función que calcule y retorne el promedio de cada uno de los cuatro trimestres del vector costot.
¾ Crear una función que calcule y retorne el mes, donde se encuentra el mayor valor del vector costot. (si existen dos
iguales, se asume como mayor el primero)

41-La universidad de Pamplona cuenta con equipo de Tenis de N deportistas(N es un número dado por teclado) identificados con
los códigos de los estudiantes y se desea formar el equipo de Golf con la única condición que no pueden pertenecer a este nuevo
equipo los que ya pertenecen a la otra selección. Realice las siguientes funciones:
Llenado de la información del equipo de tenis.
Aceptación y llenado del vector para el equipo de golf, para un número desconocido de estudiantes.
Imprimir el vector de los aceptados en el equipo de golf
Nota: El llenado para el equipo de golf se realizará hasta que el código del estudiante sea -1 o llegue a un cupo máximo de 20
estudiantes aceptados para el equipo.

42-Dado un vector V1 de tipo entero de tamaño n, donde n se da por teclado, hacer un programa que:
Llene el vector V1 a través de una función
Invierta el vector V1 sin utilizar otro vector (en el mismo)
Genere un vector V2 que será el contenido de las posiciones impares de V1 ya invertido a través de una función.
Imprima el vector V2 por medio de una función imprimir en forma ascendente.
Ejemplo:
V1
5 7 1 3 60 30
0 1 2 3 4 5
V1 invertido
30 60 3 1 7 5
Universidad de Pamplona 16
Facultad de Ingenierías y Arquitectura
Guía del Estudiante para Programación II – Segundo Semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------
0 1 2 3 4 5
V2
60 1 5
0 1 2

43-Dados 2 vectores V1 y V2 de tipo entero de tamaño n y m, donde n y m se da por teclado, hacer un programa que:
Llene los vectores V1 y V2 con una función llenar.
Genere un vector V3 que es el resultado de concatenar (Unir) V1 y V2 a través de una función
Genere un vector V4 a partir de V3, donde V4 contiene aquellos números perfectos que existen en V3.
Nota: Un número perfecto es aquel número tal que la suma de sus divisores propios es igual al mismo número. Y los divisores
propios de un número son todos sus divisores excepto el mismo número. Ejemplo.
V1
4 6 12 28 60 5
0 1 2 3 4 5
V2
2 45 496
0 1 2
V3
4 6 12 28 60 5 2 45 496
0 1 2 3 4 5 6 7 8
V4
6 28 496
0 1 2
44-Crear un programa en lenguaje C que registre en un vector de enteros muchos números (máximo 1000 números), hasta finalizar
con cero. Sólo se podrán ingresar los números 1, 2 y 3 (en cualquier orden). Se pide contar la cantidad de veces que se ingreso la
secuencia: 1 2 3. Por Ejemplo: Si se ingresaron los siguientes datos: 1,1,2,2,1, 2, 3, 1, 1, 1, 1, 3, 1, 1, 2, 1, 1, 1, 3, 3, 3, 1, 2, 3, 2, 2.
Las veces que se ingreso la secuencia 1,2,3 es 2 veces
Realizar las Funciones:
¾ Main
¾ Llenar el vector
¾ Contar la cantidad de veces que se ingreso la serie 1 2 3
45-Cree un programa en C que lea un vector de N posiciones (N dado por teclado) y posteriormente cree un segundo vector con
todos los valores que se repitan exactamente 2 veces en el primer vector imprima el vector resultante. Realice:
¾ Main
¾ Lectura
¾ Creación del segundo Vector
¾ Impresión del segundo vector
46-Cree un programa en C que lea un vector de N posiciones (N dado por teclado) y posteriormente cree un segundo vector con los
valores de la siguiente forma:
1er 1er 2do 2do 3er 3er … …
Mayor Menor Mayor Menor Mayor Menor
0 1 2 3 4 5 n-1
Realice:
¾ Main
¾ Lectura
¾ Creación del 2 Vector
¾ Impresión del 2 vector

5 Vectores paralelos
Universidad de Pamplona 17
Facultad de Ingenierías y Arquitectura
Guía del Estudiante para Programación II – Segundo Semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------
47-Una compañía 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 sólo se le
dará $150.00 adicionales por semana. La información 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 más que el sueldo promedio del grupo, entonces debe cambiar al grupo 2.
Analice, diseñe y codifique un programa modular que:
Lea la información de los n empleados e imprima la clave, grupo y sueldo semanal nuevo para cada empleado, actualizando el
grupo si es el caso.
Calcule el sueldo promedio de los empleados por grupo y calcule también el promedio general de todos, sin considerar el grupo.
Indique cuántos empleados cambiaron del grupo 1 al 2.

Nombre del vector de enteros Nombre del vector de enteros


que almacena las claves (códigos) que almacena el grupo
de los empleados al cual pertenece cada empleado

Nombre del vector de números


reales que almacena el sueldo actual
clave grupo sueldo de cada uno de los empleados
0 0 0

1 1 1 sueldo[0] es el sueldo actual


Subíndice del primer empleado
de cada uno 2 2 2
de los vectores
3 3 3 sueldo[2] es el sueldo actual
del tercer empleado
.. .. ..
clave[2]
código del n-1 n-1 n-1 sueldo[n-1] es el sueldo actual
tercer del último empleado
empleado
grupo[2]
grupo al que grupo[n-1]
pertenece el grupo al que
tercer pertenece el
empleado último
empleado

48-Llenar 2 vectores V1 y V2 de N posiciones (N dado por teclado), para posteriormente, ordenarlo de mayor a menor de forma
paralela usando a V1 como vector base

49-Se tienen n alumnos (1 ≤ n ≤ 50) de los cuales se conoce la clave y la calificación final. Analice, diseñe y codifique un
programa modular que:
Lea dicha información, la cual se da ya ordenada en forma descendente, con respecto a la clave.
Imprima la clave y calificación de todos los alumnos que obtuvieron calificación superior al promedio del grupo.
Imprima la calificación que obtuvieron los alumnos cuyas claves proporcionará el usuario. Se sabrá que el usuario ya no quiere
conocer más calificaciones cuando, en lugar de una clave, proporcione un cero. Utilice búsqueda binaria para buscar las claves que
el usuario solicita.

50-Un casino desea llevar a cabo unas estadísticas sobre el juego de ruleta. Se solicita un programa modular que cuente el número
de veces que cada número es ganador en una jornada y al final del día imprima un reporte con lo siguiente:
¿Cuántas veces resultó ganador cada elemento de la ruleta?
¿Cuáles elementos no resultaron ganadores en toda la jornada?
¿Cuál fue el número de cada color que ganó más veces?(suponga que sólo hay uno)
¿Cuál fue el elemento que ganó en más ocasiones?
Universidad de Pamplona 18
Facultad de Ingenierías y Arquitectura
Guía del Estudiante para Programación II – Segundo Semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------
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 número de juegos de una jornada. Los datos que el casino proporcionará son los siguientes:
número, color
número, color
...
-1
Donde:
Número representa el número correspondiente al elemento ganador, con 0 ≤ número≤ 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 representan el fin de la jornada

51-Se lee la información de 100 estudiantes, en tres vectores


En el vector A se almacena LA NOTA DEL ESTUDIANTE
En el vector B se almacena LA CARRERA
En el vector C se almacena EL CODIGO del estudiante
Existen las siguientes carreras adscritas cada una a una facultad.
Facultad Carrera
Ingenierías 1. Ing Sistemas
Ingenierías 2. Ing Industrial
Ingenierías 3. Ing Mecatronica
Ciencias Económicas 4. Contaduría
Ciencias Económicas 5. Admón. empresas
Ciencias Económicas 6. Economía
Salud 7. Medicina
Salud 8. Nutrición
Se debe calcular e imprimir
Cuantos estudiantes hay en cada facultad
El código del estudiante con la nota más alta en cada Facultad
El promedio de notas de los estudiantes por carrera

52- Se desea registrar la información de código y temperatura de 50 ciudades Realizar funciones para:
Leer los vectores
Leer por teclado la temperatura donde desea vivir una persona hasta cuando se digite 0, e imprimir los posibles códigos de las
ciudades que tienen dicha temperatura, en caso contrario imprimir “No existe ciudad”.
Calcular e imprimir el código de la ciudad con mayor temperatura.
Ordenar los dos vectores teniendo en cuenta la temperatura en orden ascendente. Nota: los dos vectores deben ser ordenados al
tiempo de forma paralela

53-De los 100 alumnos de programación I, se desea almacenar la siguiente información, para cada uno de ellos, en tres vectores
que corresponden a la siguiente información: Código, Edad, Zona (Los datos serán [1. Urbano 2. Rural])
La zona permite definir el valor de matricula así:
Zona Valor
2 500.000.oo
1 1.000.000.oo
El valor de matricula tendrá un descuento, del 30% solo para los estudiantes menores de edad. (un menor de edad es el estudiante
que tiene menos de 18 años)
Realizar: (implementando funciones)
Leer la información de los estudiantes en los vectores (código, edad, zona)
Calcular e imprimir el valor de la matricula de cada estudiante
Contar los estudiantes menores de edad, que residen en la zona Urbana y Rural

54-Una empresa de flores (rosas) desea llevar el control de sus ventas en el mes de la mujer cuenta con la siguiente información
Código del tipo de rosa, Cantidad cultivada, Cantidad Vendida y precio de venta. Para N tipos de rosas (N dado por teclado).
Realice las siguientes funciones:
Llenado de la información.
El código y la cantidad en unidades del producto más vendido.
Universidad de Pamplona 19
Facultad de Ingenierías y Arquitectura
Guía del Estudiante para Programación II – Segundo Semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------
El código y la cantidad en unidades del producto menos producido.
El total de las ventas.

55-Realice un programa para un supermercado que vende N productos (N dado por teclado) cada producto posee su código y su
respectivo precio, usted y su equipo de programadores debe realizar:
Una función para llenar la información de los productos que se venden en el supermercado (Código y precio).
Una función que ordene los códigos de los productos en orden descendente (Debe ordenar los dos vectores código y precio de
forma paralela).
Una función que calcule el valor que debe pagar un cliente, conociendo el código del articulo y la cantidad, el numero total de los
artículos que lleva un cliente es indeterminado la lectura termina cuando el código del articulo sea 0
Universidad de Pamplona 20
Facultad de Ingenierías y Arquitectura
Guía del Estudiante para Programación II – Segundo Semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------

56-Realice un programa para llevar el control de las ventas de una tienda, donde se deben llenar tres vectores “Factu” Numero de
Factura, “Cant” Cantidad de artículos llevados y “Valor” Valor de la Factura, el tamaño de los vectores esta dado por un numero N
dado por teclado. Realice de Forma Modular:
Llenado de Información.
Determine el número de la factura con mayor valor.
Determine el promedio de artículos llevados en cada factura.
Imprimir los números de factura y el valor de estas que estén por encima del promedio de artículos (calculado en el punto
Cual es la factura que lleva mayor cantidad de artículos y su valor es el menor en caso de existir varias facturas con igual cantidad

57-Un Banco de la ciudad quiere que usted cree un programa modular en C para llevar el control de los Números de Cuenta,
Cédulas de Clientes y Saldo de la Cuenta (un cliente puede tener varias cuentas). En el Banco Existen 325 cuentas.
Debe realizar el llenado de la información Números de Cuenta, Cédulas de Clientes y Saldo de la Cuenta, posteriormente debe
solicitar el número de cédula de un cliente para indicarle el saldo total de las cuentas del cliente en el banco, debe indicar el cliente
con menos dinero en el banco y por ultimo debe solicitar Dos numero de cuenta (Cuenta Origen y Cuenta Destino) y un monto el
cual será restado de la cuenta Origen y sumado a la cuenta Destino. Realice:
¾ Main
¾ Función Llenado
¾ Función Saldo por Cliente
¾ Función Cliente con menos dinero
¾ Función Transferencia
Nota: Para la función transferencia debe validar que la cuenta Origen tenga fondos suficientes para poder realizar la transferencia.

58-El instituto de bienestar familiar necesita manejar la información de adultos mayores beneficiados en uno de sus programas
sociales. Para ello requiere manejar la siguiente información: documento de identidad, edad, estatura (en metros), peso
(kilogramos). Se debe calcular el índice de masa corporal para cada individuo mediante la formula IMC = masa(kg) /
estatura2(metros). Si el índice de masa esta por debajo de 21, se dice que hay desnutrición, si está entre 21 y 25, está en su peso
normal y por encima de 25 hay sobrepeso. Realizar un programa modular que me permita.
¾ Llenar la información de todos los individuos.
¾ Determinar el índice de masa corporal para cada individuo
¾ Determinar la cantidad de individuos con sobrepeso, con peso normal y con desnutrición.
¾ Determinar el promedio de edades de los individuos, así como el mayor de todos y el más joven de todos.
En un Instituto de educación existen 10 estudiantes, cada uno ve 3 materias (1001 Matemática, 1002 Biología y 1003 Dibujo) y en
cada una de ellas se almacena la nota que saco. Cree 3 vectores un vector de Código del Estudiante, un Vector de Código de
Materia y un vector de Notas. Ejemplo:
Código Código Materia Nota Materia
estudiante
2116 1003 4,2
2133 1001 2,4
2116 1002 3,5
2436 1003 1,2
2116 1001 5,0
2436 1003 2,5
¾ Función para llenar la información
¾ Función para determinar el promedio general por materia
¾ Función para determinar el promedio de un estudiante (dado su código por teclado)
¾ Función para determinar la nota más alta por materia

59-La ciudad de Pamplona requiere hacer un censo automovilístico con la siguiente información por cada automóvil:
Número de placa (solo de tipo numérico), modelo de cada automóvil (año) y el valor correspondiente a multas acumuladas, en
caso de no tener multas el valor será de 0.
Considere que existe una cantidad determinada de automóviles. Desarrolle un programa en C que realice las siguientes funciones:
¾ Llenado de la información.
Universidad de Pamplona 21
Facultad de Ingenierías y Arquitectura
Guía del Estudiante para Programación II – Segundo Semestre 2010
---------------------------------------------------------------------------------------------------------------------------------------
¾ Función que retorne la placa del automóvil que tiene mayor valor de multas.
¾ Función que busque una placa de automóvil determinada dada por teclado.
¾ Función que cuente y retorne cuantos automóviles no tienen multas.
¾ Función que retorne el total de las multas de todos los automóviles.
¾ Función main.

6 Cadenas de caracteres como caso particular de arreglos unidimensionales (vectores de caracteres)


Una cadena de caracteres no es más que un arreglo unidimensional (vector) de caracteres, es decir que en cada casilla del vector se
hay un carácter. A diferencia de otros tipos de vectores, las cadenas se manipulan sabiendo que para toda cada existe un caracter
dentro de la cadena que indica el final de dicha cadena, este caracter se conoce como el carácter nulo y su valor es representado
como ‘ \ 0 ’, es así como se determina donde inicia una cadena (en la casilla 0) y donde termina (hasta encontrar una casilla del
vector cuyo contenido sea el carácter nulo).

Carácter que indica el final de la cadena

Nombre de la cadena
cad[1]
cad[n-1]

cad[3]

cad H o l a \0 x y
0 1 2 3 4 ..... n-1

Los caracteres que se encuentren posteriores


“Hola”es el contenido de la cadena cad al carácter nulo ‘ \ 0 ‘, no hacen parte de la cadena cad.
A pesar de que la capacidad de la cadena es mayo
(n caracteres), la cadena cad inicia en cad[0]
y termina donde encuentre el carácter nulo

Recuerde que todos los ejercicios se deben realizar de forma modular y si no se indica se asume que las cadenas son de max 50
caracteres
60- Leer una cadena de caracteres, determine la longitud de esta y escribirla al revés.

61- Leer una cadena de a lo más 20 caracteres e imprima todos los caracteres que se encuentran en una posición par.

62-Leer una frase de a lo más, 50 caracteres, cuente cuántas veces aparece la letra ‘a’ en la frase. Cuente cada una de las vocales
minúsculas o mayúsculas que contiene. Realice una copia de esta en otra variable, Convertir la cadena (copia) a mayúsculas (con
otra función a minúsculas).

63-Leer una cadena de caracteres y la cortarla en palabras escribiendo cada palabra en una línea. Se supone que las palabras se
separan sólo por blancos.

64-Leer dos cadenas de caracteres en forma separada y luego las compare, determinando si son iguales o diferentes. (Idénticas o
mezcla)

65-Concatene dos cadenas, debe leer el nombre y el apellido de una persona de forma separada y unir estas dos en una sola cadena.

66- Leer una frase de a lo más, 50 caracteres y cree una segunda cadena con la primera palabra de la frase original que empiece con
la letra ‘b’, si existe.

67- Leer una cadena de caracteres y elimine los espacios en blanco.

También podría gustarte