#include <iostream>
#include"stdio.h"
using namespace std;
int FleetSunk( int a[ 25 ] [ 25 ] ) ;
void HIT( int a[ ] [ 25 ] ,int ,int ) ;
int main( )
{ int i,j,a[ 25 ] [ 25 ] ,x,y;
FILE * file1 = fopen ( "2d.txt" , "r" ) ;
for ( i= 0 ; i< 25 ; i++ ) {
for ( j= 0 ; j< 25 ; j++ ) { /* create a txt file 2d in current folder consisting of matrix as shown in question otherwise take direct input into 2 array by 2 for loop
*/
fscanf ( file1,"%c\t " , & a[ i] [ j] ) ;
}
}
j= FleetSunk( a) ; //checking if some part of ship is present
while ( j== 0 )
{
scanf ( "%d%d" ,& x,& y) ;
HIT( a,x,y) ;
FleetSunk( a) ;
}
printf ( "The fleet was destroyed" ) ;
return 0 ;
}
void HIT( int a[ ] [ 25 ] ,int x,int y)
{
if ( a[ x] [ y] == '#' ) //if part of ship is present at x,y then printing hit
{
printf ( "HIT" ) ;
a[ x] [ y] = 'H' ;
}
if ( a[ x] [ y] == 'H' )
{
printf ( "HIT AGAIN" ) ;
}
}
int FleetSunk( int a[ ] [ 25 ] )
{
for ( int i= 0 ; i< 25 ; i++ ) //if a single # present in a ocean then all fleet is not destroyed
{
for ( int j= 0 ; j< 25 ; j++ )
{
if ( a[ i] [ j] == '#' )
{
return 0 ;
}
}
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSJzdGRpby5oIgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IEZsZWV0U3VuayhpbnQgYVsyNV1bMjVdKTsKCnZvaWQgSElUKGludCBhW11bMjVdLGludCxpbnQpOwoKCmludCBtYWluKCkKeyAgICAgIGludCBpLGosYVsyNV1bMjVdLHgseTsKCSAgIEZJTEUgKmZpbGUxID0gZm9wZW4oIjJkLnR4dCIsICJyIik7CgogICAgICAgIGZvcihpPTA7aTwyNTtpKyspewogICAgICAgICAgICBmb3Ioaj0wO2o8MjU7aisrKXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY3JlYXRlIGEgdHh0IGZpbGUgMmQgaW4gY3VycmVudCBmb2xkZXIgY29uc2lzdGluZyBvZiBtYXRyaXggYXMgc2hvd24gaW4gcXVlc3Rpb24gb3RoZXJ3aXNlIHRha2UgZGlyZWN0IGlucHV0IGludG8gMiBhcnJheSBieSAyIGZvciBsb29wCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwogICAgICAgICAgICAgICAgZnNjYW5mKGZpbGUxLCIlY1x0IiwgJmFbaV1bal0pOwogICAgICAgICAgICB9CiAgICAgICAgfQoJICAgICBqPUZsZWV0U3VuayhhKTsgICAgICAgICAgICAgICAgICAvL2NoZWNraW5nIGlmIHNvbWUgcGFydCBvZiBzaGlwIGlzIHByZXNlbnQKCSAgICAgd2hpbGUoaj09MCkKCSAgICAgewoJICAgICAJc2NhbmYoIiVkJWQiLCZ4LCZ5KTsKCSAgICAgCUhJVChhLHgseSk7CgkgICAgIAlGbGVldFN1bmsoYSk7CgkJIH0KCQkgcHJpbnRmKCJUaGUgZmxlZXQgd2FzIGRlc3Ryb3llZCIpOwoJcmV0dXJuIDA7Cn0KCgoKCgoKCgoKCgoKCgp2b2lkIEhJVChpbnQgYVtdWzI1XSxpbnQgeCxpbnQgeSkKewoJaWYoYVt4XVt5XT09JyMnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2lmIHBhcnQgb2Ygc2hpcCBpcyBwcmVzZW50IGF0IHgseSB0aGVuIHByaW50aW5nIGhpdAoJewoJCXByaW50ZigiSElUIik7CgkJYVt4XVt5XT0nSCc7Cgl9CgkKCWlmKGFbeF1beV09PSdIJykKCXsKCQlwcmludGYoIkhJVCBBR0FJTiIpOwoJfQp9CgppbnQgRmxlZXRTdW5rKGludCBhW11bMjVdKQp7Cglmb3IoaW50IGk9MDtpPDI1O2krKykgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2lmIGEgc2luZ2xlICMgcHJlc2VudCBpbiBhIG9jZWFuIHRoZW4gYWxsIGZsZWV0IGlzIG5vdCBkZXN0cm95ZWQKCXsKCQlmb3IoaW50IGo9MDtqPDI1O2orKykKCQl7CgkJCWlmKGFbaV1bal09PScjJykKCQkJewoJCQkJcmV0dXJuIDA7CgkJCX0KCQkJCgkJfQoJfQp9