Page 192

3.5 Paso de par´ametros

59

61 62 63

struct Naufrago { int fila, columna; // Coordenadas int encontrado; // Ha sido encontrado ya? }; ?

60

64 65 66 67 68

struct GrupoNaufragos { struct Naufrago naufrago[MAX_NAUFRAGOS]; int cantidad ; };

69 70 71 72 73

void pon_naufragos(struct GrupoNaufragos * grupoNaufragos, int cantidad ) /* Situa aleatoriamente cantidad n´ aufragos en la estructura grupoNaufragos. */ { int fila, columna, ya_hay_uno_ahi, i;

74

grupoNaufragos->cantidad = 0; while (grupoNaufragos->cantidad != cantidad ) { fila = rand () % FILAS; columna = rand () % COLUMNAS; ya_hay_uno_ahi = 0; for (i=0; i<grupoNaufragos->cantidad ; i++) if (fila == grupoNaufragos->naufrago[i].fila && columna == grupoNaufragos->naufrago[i].columna) { ya_hay_uno_ahi = 1; break; } if (!ya_hay_uno_ahi) { grupoNaufragos->naufrago[grupoNaufragos->cantidad ].fila = fila; grupoNaufragos->naufrago[grupoNaufragos->cantidad ].columna = columna; grupoNaufragos->naufrago[grupoNaufragos->cantidad ].encontrado = 0; grupoNaufragos->cantidad ++; } }

75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

}

94 95 96 97 98 100 101

int hay_naufrago(int fila, int columna, const struct GrupoNaufragos * grupoNaufragos) /* Averigua si hay un n´ aufrago perdido en las coordenadas (fila, columna). * Si lo hay devuelve 1; si no lo hay, devuelve 0. */ { int i;

102

for (i=0; i<grupoNaufragos->cantidad ; i++) if (fila == grupoNaufragos->naufrago[i].fila && columna == grupoNaufragos->naufrago[i].columna) return 1; return 0;

103 104 105 106 107 108

}

109 110 111 112 113 114

void rescate(int fila, int columna, struct GrupoNaufragos * grupoNaufragos) /* Rescata al n´ aufrago que hay en las coordenadas indicadas. */ { int i;

115

for (i=0; i<grupoNaufragos->cantidad ; i++) if (fila == grupoNaufragos->naufrago[i].fila && columna == grupoNaufragos->naufrago[i].columna) grupoNaufragos->naufrago[i].encontrado = 1;

116 117 118 119 120

}

121 122

int perdidos(const struct GrupoNaufragos * grupoNaufragos)

186

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