קוד:
#include <stdafx.h>
int buf[10][10]={
{1,0,1,1,1,1,1,1,0,3},
{0,0,1,1,1,1,1,1,0,0},
{1,1,1,1,1,1,1,1,1,1},
{0,0,1,1,1,1,1,1,1,1},
{5,0,1,1,0,0,0,1,1,1},
{0,0,1,1,0,7,0,1,1,1},
{1,1,1,1,0,0,0,1,1,1},
{1,1,1,1,1,1,1,1,1,1},
{0,0,0,0,1,1,1,1,0,0},
{8,0,9,0,1,1,1,1,0,2}
};
int check_zero(int i,int j)
{
if(((i-1)>=0)&&(buf[i-1][j]!=0)) return 1;//צד צפון ללא אפס
if(((i+1)<=9)&&(buf[i+1][j]!=0)) return 1;//צד דרום ללא אפס
if(((j-1)>=0)&&(buf[i][j-1]!=0)) return 1;//צד מזרח ללא אפס
if(((j+1)<=9)&&(buf[i][j+1]!=0)) return 1;//צד מערב ללא אפס
if(((i-1)>=0)&&((j-1)>=0)&&(buf[i-1][j-1]!=0)) return 1;//צד צפון-מערב ללא אפס
if(((i+1)<=9)&&((j-1)>=0)&&(buf[i+1][j-1]!=0)) return 1;//צד דרום-מערב ללא אפס
if(((i-1)>=0)&&((j+1)<=9)&&(buf[i-1][j+1]!=0)) return 1;//צד צפון-מזרח ללא אפס
if(((i+1)<=9)&&((j+1)<=9)&&(buf[i+1][j+1]!=0)) return 1;//צד דרום-מזרח ללא אפס
return 0;//המספר מוקף באפסים
}
void main()
{
int i,j,max=0;
for(i=0;i<10;i++)
for(j=0;j<10;j++)
if(!check_zero(i,j)&&buf[i][j]>max)
max=buf[i][j];
printf("Biggest number circled with zero's: %d\n\n",max);
}