Hola
Mira primero que nada debes visualizarlo en tu mente como una matriz de 100 x 500 donde cada intersección fila x columna debe ser la posición donde se colocara un 1 indicando que se instalo una antena, por ejemplo con la función inicializar recorres toda la matriz y colocas un 0 en cada posición de esta.
por ejemplo:
Código:
for (i=0; i<100; i++){
for(j=0;j<500;j++){
ciudad[i][j] = 0;
}
}
Importante: la variable "c" es la matriz que pasas como argumento.
Luego la función instalar (c,i,j) va a colocar un 1 en la posición de la matriz i, j.
La función desinstalar hará lo mismo pero en vez de colocar un 1 colocara un 0.
La función instalarRnd(c,n), bueno ahí debes hacer un ciclo que vaya de 0 a n-1, n es el segundo parámetro que te pasan en la función, y luego ayudada de una función que genere números aleatorios creas las posiciones pasando a la función generadora de números aleatorios el valor que te de el ciclo for.
Total antenasH imagina horizontal como una fila y vertical como una columna de la matriz eso es todo, k va a representar el numero de la fila o columna de la matriz..
La función Listar, bueno recorre toda la matriz buscando 1 y luego puedes guardar en otra matriz las posiciones (i, j) de las antenas instaladas y por ultimo retornar esa matriz
Eso seria, espero te sirva mi explicación.
Saludos