Page 71

CC 2003, 2008 Andr´ es Marzal e Isabel Gracia

2 Estructuras de datos en C: vectores est´aticos y registros

Observa que el acceso a elementos del vector sigue la misma notaci´on de Python: usamos el identificador del vector seguido del ´ındice encerrado entre corchetes. En una ejecuci´on del programa obtuvimos este resultado en pantalla (es probable que obtengas resultados diferentes si repites el experimento): 1073909760 1075061012 1205 1074091790 1073941880

Evidentemente, no son cinco ceros. Podemos inicializar todos los valores de un vector a cero con un bucle for: inicializados a cero.c 1

inicializados a cero.c

#include <stdio.h>

2 3

#define TALLA 10

4 5 6 7

int main(void) { int i, a[TALLA];

8

for (i = 0; i < TALLA; i++) a[i] = 0;

9 10 11

for (i = 0; i < TALLA; i++) printf ("%d\n", a[i]);

12 13 14

return 0;

15 16

}

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . · 67 Declara e inicializa un vector de 100 elementos de modo que los componentes de ´ındice par valgan 0 y los de ´ındice impar valgan 1. · 68 Escribe un programa C que almacene en un vector los 50 primeros n´ umeros de Fibonacci. Una vez calculados, el programa los mostrar´a por pantalla en orden inverso. · 69 Escribe un programa C que almacene en un vector los 50 primeros n´ umeros de Fibonacci. Una vez calculados, el programa pedir´a al usuario que introduzca un n´ umero y dir´a si es o no es uno de los 50 primeros n´ umeros de Fibonacci. ............................................................................................. Hay una forma alternativa de inicializar vectores. En este fragmento se definen e inicializan dos vectores, uno con todos sus elementos a 0 y otro con una secuencia ascendente de n´ umeros: 1 2 3 4

#define TALLA 5 ... int a[TALLA] = {0, 0, 0, 0, 0}; int b[TALLA] = {1, 2, 3, 4, 5};

Ten en cuenta que, al declarar e inicializar simult´aneamente un vector, debes indicar expl´ıcitamente los valores del vector y, por tanto, esta aproximaci´on s´olo es factible para la inicializaci´on de unos pocos valores.

2.1.3.

Un programa de ejemplo: la criba de Erat´ ostenes

Vamos a ilustrar lo aprendido desarrollando un sencillo programa que calcule y muestre los n´ umeros primos menores que N, para un valor de N fijo y determinado en el propio programa. Usaremos un m´etodo denominado la criba de Erat´ostenes, uno de los algoritmos m´as antiguos y que debemos a un astr´ onomo, ge´ ografo, matem´atico y fil´osofo de la antigua Grecia. El m´etodo utiliza un vector de N valores booleanos (unos o ceros). Si la celda de ´ındice i contiene el valor 1, Introducci´ on a la Programaci´ on con C

65

Profile for esLibre.com

Introducción a la programación con c  

Introducción a la programación con c  

Advertisement