#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h> // Para 'memset( )`.
#define SIZE 10
#define BOMBS 10
int main( void ) {
int bombs = BOMBS + 1;
char map[SIZE * SIZE];
int pos;
// Inicializamos el array con puntos '.'.
memset( map
, '.', SIZE
* SIZE
);
// MIENTRAS queden bombas sin esablecer.
while( --bombs ) {
// Repetimos HASTA que en el lugar NO HAY bomba.
do {
pos
= rand( ) % ( SIZE
* SIZE
); } while( map[pos] == 'X' );
// NO HAY bomba en esa posiciĆ³n. La ponemos.
map[pos] = 'X';
}
// Mostramos el tablero.
for( pos = 0; pos < ( SIZE * SIZE ); pos += 10 ) {
// SABEMOS las filas son de longitud fija.
printf("%.*s\n", SIZE
, map
+ pos
); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHRpbWUuaD4KI2luY2x1ZGUgPHN0cmluZy5oPiAvLyBQYXJhICdtZW1zZXQoIClgLgoKI2RlZmluZSBTSVpFIDEwCiNkZWZpbmUgQk9NQlMgMTAKCmludCBtYWluKCB2b2lkICkgewogIGludCBib21icyA9IEJPTUJTICsgMTsKICBjaGFyIG1hcFtTSVpFICogU0laRV07CiAgaW50IHBvczsKCiAgc3JhbmQoIHRpbWUoIE5VTEwgKSApOwoKICAvLyBJbmljaWFsaXphbW9zIGVsIGFycmF5IGNvbiBwdW50b3MgJy4nLgogIG1lbXNldCggbWFwLCAnLicsIFNJWkUgKiBTSVpFICk7CgogIC8vIE1JRU5UUkFTIHF1ZWRlbiBib21iYXMgc2luIGVzYWJsZWNlci4KICB3aGlsZSggLS1ib21icyApIHsKICAgIC8vIFJlcGV0aW1vcyBIQVNUQSBxdWUgZW4gZWwgbHVnYXIgTk8gSEFZIGJvbWJhLgogICAgZG8gewogICAgICBwb3MgPSByYW5kKCApICUgKCBTSVpFICogU0laRSApOwogICAgfSB3aGlsZSggbWFwW3Bvc10gPT0gJ1gnICk7CgogICAgLy8gTk8gSEFZIGJvbWJhIGVuIGVzYSBwb3NpY2nDs24uIExhIHBvbmVtb3MuCiAgICBtYXBbcG9zXSA9ICdYJzsKICB9CgogIC8vIE1vc3RyYW1vcyBlbCB0YWJsZXJvLgogIGZvciggcG9zID0gMDsgcG9zIDwgKCBTSVpFICogU0laRSApOyBwb3MgKz0gMTAgKSB7CiAgICAvLyBTQUJFTU9TIGxhcyBmaWxhcyBzb24gZGUgbG9uZ2l0dWQgZmlqYS4KICAgIHByaW50ZigiJS4qc1xuIiwgU0laRSwgbWFwICsgcG9zICk7CiAgfQoKICByZXR1cm4gMDsKfQ==