Está en la página 1de 4

Algoritmos y Estructura de

Datos
Profesor Ing. Diego Juan

Módulo 3 - Registros, vectores y cadenas de


caracteres
VECTORES

1) Dado un número N (<30), genere e informe un vector VEC de N elementos que contenga los
primeros N números naturales pares.

2) Ingresar un valor entero N (< 30) y a continuación un conjunto de N elementos. Si el último


elemento del conjunto tiene un valor menor que 10 imprimir los negativos y en caso contrario los
demás.

3) Dado un conjunto (<100) de valores enteros de los cuales el último es cero y no debe procesarse:
informe el valor mínimo, su posición dentro del conjunto, si el mínimo no es único, informar todas las
posiciones donde se encuentre. Informe el producto de los elementos impares que se encuentren en
posición par.

4) Dado un número N (<25), y dos vectores A y B de N elementos que contenga valores reales:
a) Genere e informe un tercer vector C intercalando los valores de posición impar de A y los valores
de posición par de B.
b) Genere e informe un tercer vector D donde cada elemento contenga un valor cero si los elementos
de una misma posición de A y B son iguales, o un valor uno si no lo son.

5) Se tienen N temperaturas (5<N<20) en un vector. Se desea calcular su media y determinar entre


todas ellas cuáles son superiores o iguales a esa media.

6) En un club social se abrieron las inscripciones de los socios a distintos deportes, codificados de 1 a
20, y de cada inscripción se conoce número de socio y código de deporte. Las inscripciones finalizan
con un número de socio igual a 0.
Se pide informar:
La cantidad de inscriptos en cada deporte
El código de deporte con la mayor cantidad de inscriptos

7) Dado un conjunto de N cursos (codificados del 1 al 10) de la cátedra de Algoritmos, se solicita al


usuario que ingrese las notas (1 a 10) del parcial de cada alumno. Se dispone de tres vectores
aprobados, desaprobados y ausentes; donde se va registrando, durante la carga de datos, la cantidad
de alumnos según la nota que obtuvo en el examen.
Se pide:
a) Informar de cada curso la cantidad de alumnos que tuvieron como nota 1, ...,9, 10.
b) Informar al final del proceso el código de curso, el % de aprobados y el de insuficientes de cada
curso.

8) Desarrolle una función que implemente la búsqueda secuencial en un vector de números enteros.

9) Desarrolle una función que implemente la búsqueda binaria en un vector de números enteros.
¿Qué condiciones se deben cumplir para implementar este algoritmo?.

10) Dado un conjunto de valores naturales (<20) de los cuales el último es un cero, y no debe
procesarse, genere e informe un vector que contenga los factoriales de los valores ingresados
11) Dado un número N (<50), y un vector VEC de N valores enteros positivos ordene el contenido del
vector y lo informe, aplicando el procedimiento Burbujeo:
a) en orden ascendente
b) en orden descendente

12) Se introducen una serie de valores numéricos desde el teclado, siendo el valor final de entrada
de datos o centinela –99. Se desea calcular e imprimir el número de valores leídos, la suma y media o
promedio de los valores.

13) Desarrolle una función que acepte como parámetro un vector con valores duplicados. La función
debe devolver otro vector con dichos, pero ordenados y sin duplicados. Para llevar a cabo su tarea la
función deberá invocar a otras funciones, que usted deberá desarrollar.

14) Inicializar una matriz de dos dimensiones con un valor constante dado K.

15) Leer una matriz de 3 por 3 elementos y calcular la suma de cada una de sus filas y columnas,
guardar dichos resultados en dos vectores, uno de la suma de las filas y otro de las columnas.
Finalmente informar dichos resultados por pantalla.

16) Las notas de un colegio se tienen en una matriz de 30 × 5 elementos (30, número de alumnos; 5,
número de asignaturas). Se desea listar las notas de cada alumno y su promedio.

REGISTROS:

17) Dado el siguiente dibujo de un registro, especifique la nomenclatura para acceder al registro y
cada uno de sus campos, y las operaciones que se pueden realizar a nivel registro y a nivel campos.
Defina otro registro del mismo tipo de datos, asignar valores iniciales y luego llevar a cabo la
asignación entre variables del tipo registro o struct.

legajo apellidoNombre nota


8 dígitos 25 caracteres 0..10

18) Dados los siguientes dibujos que corresponden a distintos tipos de registros realice su
declaración en C++, y especifique la nomenclatura para acceder al registro y cada uno de sus campos.
a)
nombre fechaNacimiento
25 caracteres
dia (1..31) mes (1..12) anio (4 dígitos)

b)
legajo apellidoNombre calificaciones
8 dígitos
apellido nombre nota1 (1..10) nota2 (1..10) nota3 (1..10)

19) Dados los registros anteriores crear un vector de 20 posiciones. Para el caso a) imprimir:
a. La posición 6 del vector, campo dia.
b. La posición 0 del vector campo nombre.
Para el caso b):
c. La posición 19 campo apellido
d. La posición 12 campos legajo, y calificaciones (las 3 notas).

20) Una fábrica de automotores quiere saber cuál es la provincia donde venden más autos. Dispone
de un conjunto de concesionarios distribuidos en todo el país. Cuenta con el siguiente set de datos:

cod_provincia cod_concesionario unidades_vendidas


1 55 24
1 67 40
1 71 15
2 87 66
2 50 75
3 28 85
3 78 102
3 9 55
4 2 120
4 33 71

Se solicita implementar un vector de registros con el sets de datos, conservando el orden


establecido; se trata de un vector de 10 elementos. Luego recorrer el vector mediante el algoritmo
de corte de control para efectuar un reporte que indique, el total de unidades vendidas por cada una
de las provincias.

CADENAS DE CARACTERES:

21) Desarrollar un programa que le solicite al usuario una cadena de caracteres y un carácter. Contar
el número de veces que aparece el carácter en la cadena, e informar por pantalla el número.

22) Desarrollar un programa que le solicite al usuario una cadena de caracteres. Generar una nueva
cadena con las vocales convertidas a mayúsculas.

23) Desarrollar un programa que le solicite al usuario una cadena e invierta el orden de sus
caracteres. Desarrolle la función invertirCadena, defina adecuadamente sus parámetros e invocarla
en el programa principal.

24) Desarrollar un programa y una función esPalindromo. El programa debe solicitar al usuario una
cadena de caracteres y luego invocar a la función mencionada para comprobar si la misma es un
palíndromo. Deberá informar al usuario el resultado.
Un palíndromo es una palabra que se lee igual hacia atrás que hacia adelante.

También podría gustarte