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. ! ( !