Está en la página 1de 6

Al gor i t mo y Es t r uc t ur a de Dat os

Ing. en Sistemas de Informacin 1 ao


Docente: Gabriela Ribotta Ayudante: Mara Laura Lpe
Trabajo prctico N 4 (Resolucin de problemas Arreglos
unidimensionales!
Realiza el programa en lenguaje C correspondiente. Utilizar modulacin.
1- Escriba una declaracin para un vector que contenga 50 valores del tipo entero
largo.
2- uestre una declaracin que asigne el valor de 12!."5# a la $ltima posicin del
vector del ejercicio 1.
!- %u& 'a( de incorrecto en lo siguiente)
int vec *10+,
int -,
void main ./
0
1or .-21,-3210,-44/
vec*-+255,
return,
6
"- Cargar en un arreglo de una dimensin de 50 posiciones7 n$meros pares comenzando
por el 2.
5- Escriba un programa de modo que ingresen valores enteros 'asta que se incorpora el
n$mero 557 o 'asta seis valores pares sean ingresados. 8alve los n$meros pares en un
vector ( agregue una 1uncin que imprima los valores del vector ordenados ( separados
por tabulaciones en una sola l9nea.
#- 8e tiene almacenado en memoria en un arreglo de una dimensin las notas de 50
alumnos del primer parcial correspondiente a la asignatura :;lgebra<.
ostrar - la ma(or nota
- el porcentaje de alumnos que aprobaron el parcial con nota superior a #
- el promedio de las notas
- en qu& posicin del arreglo se encuentra la menor nota.
=- >ado un arreglo de 100 elementos que almacena n$meros enteros positivos7 generar
una 1uncin por cada 9tems pedido7 mostrando el resultado en la 1uncin principal.
- ?a suma de los n$meros pares.
- El ma(or n$mero ingresado.
- El porcentaje de n$meros impares.
- ?a cantidad de n$meros nulos.
Validar que los n$meros ingresados sean positivos.
@- ?eer un n$mero natural n .no ma(or que 100/ ( asignar a las componentes del vector
de n posiciones los valores 17 "7 57 1#........etc . 1
2
7 2
2
7 !
2
.../
! 1 !
Al gor i t mo y Es t r uc t ur a de Dat os
Ing. en Sistemas de Informacin 1 ao
Docente: Gabriela Ribotta Ayudante: Mara Laura Lpe
5- Escribir un programa que contenga una 1uncin que dado un vector de n elementos
enteros calcule el n$mero de veces que los elementos pasan de crecer a decrecer o
viceversa.
10 En un arreglo de n posiciones se encuentran almacenados los importes de n ventas
que se realizaron en el corriente aAo. 8e pide generar ( mostrar un vector con los
importes entre B50 ( B2@= . ostrar todos los importes de ventas luego de 'aber
ordenado las componentes del arreglo de menor a ma(or.
11- >ado un arreglo >CDE de componentes reales e 9ndice entero de 1 a F ( otro
arreglo GCHC8 con 9ndice de 1 a ( componentes del mismo tipo que el arreglo
>CDE7 actualizar &ste $ltimo arreglo de manera que se eliminen de la estructura las
componentes que estIn en el arreglo GCHC8.
ostrar el nuevo arreglo >CDE luego de la actualizacin.
12- JFKERDJR >LMJDE8
a/ >iseAar una 1uncin que lea un n$mero natural n ( escriba sus d9gitos invertidos.
b/ >iseAar una 1uncin que 'aga lo mismo que la anterior7 pero que retorne un
natural con los d9gitos de n invertidos.
1!- Escriba una 1uncin llamada addvec./ que valide dos vectores que sean del mismo
tamaAo. ?a 1uncin debe sumar cada elemento de los vectores juntos ( poner los
valores en un tercer vector7 ordenarlo ( mostrarlo.
1"- >iseAe un programa que cargue un vector con n$meros enteros que representan los
aAos de antigNedad de los empleados de una empresa con este arreglo se debe armar
otro arreglo que contenga los aAos de ingreso de aquellos empleados que 'a(an
ingresado antes de 2000 inclusive.
Con el nuevo vector generado determinar cuantos empleados ingresaron entre 15=0 (
15@0 inclusive7 cuantos entre 15@0 ( 1550 inclusive ( cuantos entre 1550 ( 2000
inclusive.
>eterminar cuanto es el total en sueldos para estos empleados considerando que el
sueldo bIsico es de B500 por mes mIs el porcentaje de antigNedad que serI del 10O
para los que tienen mIs de 20 aAos7 ( un 5O para los que tienen mas de 10 aAos (
menos de 20 ( el resto no cobra antigNedad.
8e debe imprimir el vector de aAos de ingreso7 el vector generado7 la cantidad de
empleados de los grupos que se piden ( el total de sueldos a abonar.
Utilizar adecuadamente FUNCIONES, PARMETROS POR VAOR ! POR REFERENCIA"
15- >ado @0 n$meros enteros generados en 1orma aleatoria .entre 0 ( 55/ con1eccionar
un listado que muestre el diagrama estad9stico de 1recuencias por decenas.
FEDCP la 1recuencia de una decena es la cantidad de datos ingresados pertenecientes a
dic'a decena.
0 - 5 J QQQQQQ
10 - 15 J QQQQ
20 - 25 J QQQQ
!0 - !5 J QQ
! " !
Al gor i t mo y Es t r uc t ur a de Dat os
Ing. en Sistemas de Informacin 1 ao
Docente: Gabriela Ribotta Ayudante: Mara Laura Lpe
.........
50 - 55 J QQQQQQQ
1#- E?EEFDE8 JMRC?E8 EF >E8 KECDERE8
>iseAar un programa que lea dos vectores de enteros ordenados de 1orma estrictamente
creciente. El programa deberI 'allar el n$mero de elementos comunes en ellos.
1=- E?EEFDE8 SER>J>E8
>iseAar un programa que lea un vector de enteros desde 0 'asta un natural n .se puede
considerar7 para simpli1icar7 n menor que 50/7 ordenarlo en 1orma ascendente. El
programa deberI decir cuales entero 1altan.
1@- Rna pequeAa aerol9nea acaba de comprar una SC para su nuevo sistema automItico
de reservaciones. C usted se le 'a pedido que programe el nuevo sistema. Rsted debe
escribir un programa que asigne los asientos7 en cada vuelo7 del $nico avin de la
aerol9nea .capacidadP 10 asientos/. 8u programa debe desplegar el siguiente men$ de
alternativasP
Por #a$or, di%ite & 'ara ( 'rimera cla)e*
Por #a$or, di%ite + 'ara ( econmica*
8i la persona digita 17 su programa debe asignar un asiento en la seccin de primera
clase .asientos 1 a 5/. 8i la persona digita 27 su programa debe asignar un asiento en la
seccin econmica .asiento # a 10/. 8u programa debe imprimir un pase de abordar que
indique el n$mero de asiento de la persona ( si estI en la seccin de primera clase o en
la seccin econmica del avin.
Rtilice un arreglo para representar la tabla de asientos del avin. Jnicialice en 0 todos
los elementos del arreglo para indicar que todos los asientos estIn libres. ientras se
asigna cada asiento7 el valor de los elementos correspondientes del arreglo se establece
en 17 para indicar que (a estI asignado. Cuando la seccin de primera clase estI llena7
su programa debe preguntar a la persona si acepta que se le coloque en la seccin
econmica .( viceversa/. 8i no acepta7 entonces despliegue el mensaje :el siguiente
vuelo parte en tres 'oras<.
15- >ado un vector de n posiciones .siendo n un n$mero par/7 realizar las siguientes
operaciones
8umar el primer elemento con el en&simo7 ( cargarlo en un vector au-iliar como
elemento uno.
8umar el tercer elemento con el .n-2/&simo ( as9 sucesivamente 'asta agotar todas
las posiciones.
20- Tacer un procedimiento para que dado un vector con una cantidad par de elementos
enteros de 0 a 57 genere otro arreglo con los n$meros de dos ci1ras 1ormados tomando
de a dos los elementos del arreglo ingresado
EjemploP
U V
! 1 5 = @ 2 #1 $% &"
V*1+2 U*1+Q10 4 U*2+Q12!1
V*2+2 U*!+Q10 4 U*"+Q125=
! # !
Al gor i t mo y Es t r uc t ur a de Dat os
Ing. en Sistemas de Informacin 1 ao
Docente: Gabriela Ribotta Ayudante: Mara Laura Lpe
V*!+2 U*5+Q10 4 U*#+Q1 2@2
21- >ados dos arreglos C ( G de dimensin m ( n respectivamente n32m7 escribir un
programa que genere un arreglo cu(o i-esimo elemento va a contener 1 o 0 de acuerdo
a si el elemento i-esimo de G estI en C. Jmprimir los tres vectores.
22- >ado un n$mero entero largo7 diseAar un programa en C que calcule la cantidad de
veces que se encuentra un n$mero ingresado por teclado ( su sucesor en el mismo (7
luego se debe imprimir el n$mero original ( la cantidad de veces que se encuentra los
n$meros antes mencionados.
E,ercicio) Pro'ue)to)
1. ?lenar un vector de 20 elementos7 imprimir la posicin ( el valor del elemento
ma(or almacenado en el vector. 8uponga que todos los elementos del vector son
di1erentes.
2. Clmacenar 500 n$meros en un vector7 elevar al cuadrado cada valor almacenado en
el vector7 almacenar el resultado en otro vector. Jmprimir el vector original ( el vector
resultante.
!. Escribir un programa que permita eliminar de un vector previamente ingresado los
n$meros pares utilizando una 1uncin E?JJFC que se encargue de eliminar los
n$meros pares. Este procedimiento debe utilizar una 1uncin lgica SCR cu(o resultado
sea 1 si es par ( 0 en caso contrario. Erdenar el vector resultante de ma(or a menor.
". Clmacenar !00 n$meros en un vector7 imprimir cuantos son ceros7 cuantos son
negativos7 cuantos positivos. Jmprimir ademIs la suma de los negativos ( la suma de los
positivos.
5. >iseAe un algoritmo que lea un n$mero cualquiera ( lo busque en el vector U7 el
cual tiene almacenados @0 elementos. Escribir la posicin donde se encuentra
almacenado el n$mero en el vector o el mensaje :FE< si no lo encuentra. G$squeda
secuencial.
#. >iseAe un algoritmo que lea dos vectores C ( G de 20 elementos cada uno (
multiplique el primer elemento de C con el $ltimo elemento de G ( luego el segundo
elemento de C por el diecinueveavo elemento de G ( as9 sucesivamente 'asta llegar al
veinteavo elemento de C por el primer elemento de G. El resultado de la multiplicacin
almacenarlo en un vector C.
=. ?eer por teclado las marcas de 10 corredores en una carrera7 ( escribir en la
pantalla cuantas estIn por encima ( cuantas estIn por debajo de la media.
! ' !
Al gor i t mo y Es t r uc t ur a de Dat os
Ing. en Sistemas de Informacin 1 ao
Docente: Gabriela Ribotta Ayudante: Mara Laura Lpe
@. Calcular el promedio de 50 valores almacenados en un vector. >eterminar ademIs
cuantos son ma(ores que el promedio7 imprimir el promedio7 el n$mero de datos
ma(ores que el promedio ( una lista de valores ma(ores que el promedio.
5. En un arreglo de 50 posiciones se encuentran almacenados longitudes de distancias
de ciertas ciudades importantes a la capital de nuestra rep$blica. ostrarP
- ?a ciudad que mIs lejos estI.
- ?a ciudad que mIs cerca estI.
10. Escriba un programa que utilice una 1uncin sumavec./ que tenga dos vectores
como argumentos7 sume todos los valores en ambos vectores ( devuelva el total a la
1uncin principal.
11. Escriba un programa que ingrese un vector de n elementos e intercambie el primero
con el n &simo7 el segundo con el .n-1/&simo7 ( as9 sucesivamente. Fo debe generarse
un nuevo vector. >ebe imprimirse el vector intercambiando.
12. >ado un vector de n$meros enteros se desea eliminar todos los elementos repetidos
dejando cada elemento distinto una sola vez en el arreglo. Jmprimir el vector resultante.
1!. Escribir un programa que lea dos vectores de elementos enteros ( genere un tercer
vector con los elementos del primer vector que no estIn en el segundo. El programa
debe imprimir los dos vectores originales ( el vector generado.
1". >ado un vector de n$meros enteros de 10 elementos7 sin valores repetidos (
desordenados7 buscar un elemento dado en el mismo. 8i el elemento se encuentra
interesa saber su posicin.
?uego si se encuentra el elemento se debe veri1icar si en el vector se encuentran por lo
menos dos m$ltiplos del elemento buscado7 una vez que se encuentran cuatro m$ltiplos
se debe 1inalizar el proceso ( de estos m$ltiplos encontrados se necesita saber la
posicin en las que se encuentran. 8e debe imprimir el elemento buscado7 su posicin (
las posiciones de los m$ltiplos encontrados. 8i no se encontr el elemento o no se
'allaron una cantidad su1iciente de m$ltiplos se debe imprimir un cartel adecuado.
15. Escribir una 1uncin sumanumeros./ que devuelva la suma de todos los n$meros de
un vector de enteros. >ebe aceptar tres argumentosP el primero serI el puntero al vector
que contiene los n$meros7 el segundo un carIcter que contiene un d9gito .del 0 al 5/ ( el
tercer argumento devolverI el n$mero de veces que ese d9gito aparece en el vector de
entrada. Ebserve que el $ltimo parImetro debe ser pasado por re1erencia. El vector es
de tamaAo F .de1inir F como constante igual a 10/ ( debe ser inicializado en el main.
1#. En un arreglo de !1 posiciones se encuentran almacenados los valores
correspondientes a las temperaturas promedios diarios del mes de enero del corriente
aAo.
8e pide mostrarP
- el d9a de ma(or temperatura
- el d9a de menor temperatura
! $ !
Al gor i t mo y Es t r uc t ur a de Dat os
Ing. en Sistemas de Informacin 1 ao
Docente: Gabriela Ribotta Ayudante: Mara Laura Lpe
- la ma(or temperatura
- el promedio mensual de temperaturas
- un vector con las temperaturas ma(ores al promedio mensual.
1=. EWC?C
>iseAar un programa que lea dos vectores ordenados crecientemente de enteros ( que
escriba un vector tambi&n ordenado de enteros que contenga todos los elementos de los
dos vectores.
En el caso de que un elemento est& repetido varias veces en ambos vectores7 en el nuevo
aparecerI tambi&n repetido el n$mero de veces menor.
1@. >iseAar un programa que lea un vector ordenado ( diga las posiciones entre las que
se encuentra su mI-imo segmento nulo7 en caso de que lo 'a(a. Rn segmento nulo es
aquel tal que la suma de sus elementos es cero.
15. Escriba un programa que lea un vector de n$meros enteros cu(os elementos seran
ingresados en orden creciente7 ( pueden estar repetidos ( genere un vector con la
cantidad de veces que esta cada elemento distinto en el vector original.
EjemploP
v1---------- .1 " " " 5 5 = 5 5 5 5/
Menerado v2 -------- .1 ! 2 1 " /
El programa debe imprimir los dos vectores.
20- (Complejo) C la ruleta se juega con una rueda que contiene !@ cuadros di1erentes en
su circun1erencia. >os de los cuadros7 numerados con el 0 ( 007 son verdes, 1@ cuadros
son rojos ( 1@ son negros. 8e alternan los cuadros rojos ( negros ( estIn numerados de
1 a !# en orden aleatorio.
Rna pequeAa bola gira dentro de la rueda7 que como resultado termina quedando dentro
de una ranura debajo de uno de los cuadros. El juego es apostar al resultado de los giros7
de una de las maneras siguientesP
i/ 8eleccionando un cuadro rojo o negro7 con una ventaja de !5 a 1. Cs97 si el jugador
apuesta B1 ( gana7 recibirI B!#P el original mIs otros B!5.
ii/ 8eleccionando un color7 rojo o negro7 con una paridad de 1 a 1. Cs97 si el jugador
elige rojo ( apuesta B17 si la bola se para debajo de un cuadro rojo recibirI B2.
iii/ 8eleccionando los n$meros pares o impares .e-cluidos 0 ( 00/7 con paridad 1 a 1.
iv/ 8eleccionando los 1@ n$meros bajos o los 1@ n$meros altos7 con paridad 1 a 1.
El jugador perdeXra automaticamente si la bolita se para debajo de uno de los cuadros
verdes .0 ( 00/.
Esribir un programa iteractivo en C que simule el juego de la ruleta. Sermitir que los
jugadores seleccionen cualquier tipo de apuesta que deseen eligi&ndola en un men$.
Escribir el resultado de cada juego seguido por un mensaje apropiado que indicque si el
jugador 'a ganado o 'a perdido.
! ( !