Page 88

2.1 Vectores est´aticos o igual que el grado del polinomio. ............................................................................................. Ahora que hemos presentado tres programas ilustrativos del uso de vectores en C, f´ıjate en que: El tama˜ no de los vectores siempre se determina en tiempo de compilaci´on. En un vector podemos almacenar una cantidad de elementos menor o igual que la declarada en su capacidad, nunca mayor. Si almacenamos menos elementos de los que caben (como en el programa que efect´ ua estad´ısticas de una serie de edades), necesitas alguna variable auxiliar que te permita saber en todo momento cu´ antas de las celdas contienen informaci´on. Si a˜ nades un elemento, has de incrementar t´ u mismo el valor de esa variable. Ya sabes lo suficiente sobre vectores para poder hacer frente a estos ejercicios: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . · 87 Dise˜ na un programa que pida el valor de 10 n´ umeros enteros distintos y los almacene en un vector. Si se da el caso, el programa advertir´a al usuario, tan pronto sea posible, si introduce un n´ umero repetido y solicitar´ a nuevamente el n´ umero hasta que sea diferente de todos los anteriores. A continuaci´ on, el programa mostrar´a los 10 n´ umeros por pantalla. · 88 En una estaci´ on meteorol´ ogica registramos la temperatura (en grados cent´ıgrados) cada hora durante una semana. Almacenamos el resultado en un vector de 168 componentes (que es el resultado del producto 7 × 24). Dise˜ na un programa que lea los datos por teclado y muestre: La m´ axima y m´ınima temperaturas de la semana. La m´ axima y m´ınima temperaturas de cada d´ıa. La temperatura media de la semana. La temperatura media de cada d´ıa. El n´ umero de d´ıas en los que la temperatura media fue superior a 30 grados. El d´ıa y hora en que se registr´o la mayor temperatura. · 89 La cabecera stdlib.h incluye la declaraci´on de funciones para generar n´ umeros aleatorios. La funci´ on rand , que no tiene par´ametros, devuelve un entero positivo aleatorio. Si deseas generar n´ umeros aleatorios entre 0 y un valor dado N, puedes evaluar rand () % (N+1). Cuando ejecutas un programa que usa rand , la semilla del generador de n´ umeros aleatorios es siempre la misma, as´ı que acabas obteniendo la misma secuencia de n´ umeros aleatorios. Puedes cambiar la semilla del generador de n´ umeros aleatorios pas´andole a la funci´on srand un n´ umero entero sin signo. Usa el generador de n´ umeros aleatorios para inicializar un vector de 10 elementos con n´ umeros enteros entre 0 y 4. Muestra por pantalla el resultado. Detecta y muestra, a continuaci´ on, el tama˜ no de la sucesi´ on m´as larga de n´ umeros consecutivos iguales. (Ejemplo: si los n´ umeros generados son 0 4 3 3 2 1 3 2 2 2, el tramo m´as largo formado por n´ umeros iguales es de talla 3 (los tres doses al final de la secuencia), as´ı que por pantalla aparecer´ a el valor 3.) · 90

Modifica el ejercicio anterior para que trabaje con un vector de 100 elementos.

· 91 Genera un vector con 20 n´ umeros aleatorios entre 0 y 100 y muestra por pantalla el vector resultante y la secuencia de n´ umeros crecientes consecutivos m´as larga. (Ejemplo: la secuencia 1 33 73 85 87 93 99 es la secuencia creciente m´as larga en la serie de n´ umeros 87 45 34 12 1 33 73 85 87 93 99 0 100 65 32 17 29 16 12 0.) · 92 Escribe un programa C que ejecute 1000 veces el c´alculo de la longitud de la secuencia m´as larga sobre diferentes secuencias aleatorias (ver ejercicio anterior) y que muestre la longitud media y desviaci´ on t´ıpica de dichas secuencias. · 93 Genera 100 n´ umeros aleatorios entre 0 y 1000 y almac´enalos en un vector. Determina a continuaci´ on qu´e n´ umeros aparecen m´as de una vez. 82

Introducci´ on a la Programaci´ on con C

Profile for esLibre.com

Introducción a la programación con c  

Introducción a la programación con c  

Advertisement