#include<stdlib.h>
#include<stdio.h>
display(char *a,int position)
{
printf("1 |2 |3\n");
printf(" %c | %c | %c \n",a[0],a[1],a[2]);
printf(" | |\n");
printf("------+------+------\n");
printf("4 |5 |6\n");
printf(" %c | %c | %c \n",a[3],a[4],a[5]);
printf(" | |\n");
printf("------+------+------\n");
printf("7 |8 |9\n");
printf(" %c | %c | %c \n",a[6],a[7],a[8]);
printf(" | |\n");
}
int main()
{
int pos,prevpos,i,flag=0;
char a[9]={' ',' ',' ',' ',' ',' ',' ',' ',' '};
display(a,0);
for(i=0;i<9;i++)
{
i++;
do
{
do
{
printf("Player 1 > Enter the position for X: ");
scanf("%d",&pos);
}
while((pos<0 || pos>9) && printf("Invalid Position!! ..\n"));
pos-=1;
}
while((a[pos]=='X' || a[pos]=='O') && printf("Invalid !! Position taken..\n"));
a[pos]='X';
system("clear");
display(a,pos);
if((a[0]==a[1] && a[1]==a[2] && a[2]=='X')||//
(a[3]==a[4] && a[4]==a[5] && a[5]=='X')||//
(a[6]==a[7] && a[7]==a[8] && a[8]=='X')||//
(a[0]==a[3] && a[3]==a[6] && a[6]=='X')||//
(a[1]==a[4] && a[4]==a[7] && a[7]=='X')||//
(a[2]==a[5] && a[5]==a[8] && a[8]=='X')||//
(a[0]==a[4] && a[4]==a[8] && a[8]=='X')||//
(a[2]==a[4] && a[4]==a[6] && a[6]=='X'))
{
printf("\n**** X Wins ****\n");
flag=1;
exit(0);
}
if(i>8 && flag>0) break;
do
{
do
{
printf("Player 2 > Enter the position for O: ");
scanf("%d",&pos);
}
while((pos<0 || pos>9) && printf("Invalid Position!! ..\n"));
pos-=1;
}
while((a[pos]=='X' || a[pos]=='O') && printf("Invalid !! Position taken..\n"));
a[pos]='O';
system("clear");
display(a,pos);
if((a[0]==a[1] && a[1]==a[2] && a[2]=='O')||//
(a[3]==a[4] && a[4]==a[5] && a[5]=='O')||//
(a[6]==a[7] && a[7]==a[8] && a[8]=='O')||//
(a[0]==a[3] && a[3]==a[6] && a[6]=='O')||//
(a[1]==a[4] && a[4]==a[7] && a[7]=='O')||//
(a[2]==a[5] && a[5]==a[8] && a[8]=='O')||//
(a[0]==a[4] && a[4]==a[8] && a[8]=='O')||//
(a[2]==a[4] && a[4]==a[6] && a[6]=='O'))
{
printf("\n**** O Wins ****\n");
flag=2;
exit(0);
}
}
printf("\n Game Draws!!! \n");
}
#include<stdio.h>
display(char *a,int position)
{
printf("1 |2 |3\n");
printf(" %c | %c | %c \n",a[0],a[1],a[2]);
printf(" | |\n");
printf("------+------+------\n");
printf("4 |5 |6\n");
printf(" %c | %c | %c \n",a[3],a[4],a[5]);
printf(" | |\n");
printf("------+------+------\n");
printf("7 |8 |9\n");
printf(" %c | %c | %c \n",a[6],a[7],a[8]);
printf(" | |\n");
}
int main()
{
int pos,prevpos,i,flag=0;
char a[9]={' ',' ',' ',' ',' ',' ',' ',' ',' '};
display(a,0);
for(i=0;i<9;i++)
{
i++;
do
{
do
{
printf("Player 1 > Enter the position for X: ");
scanf("%d",&pos);
}
while((pos<0 || pos>9) && printf("Invalid Position!! ..\n"));
pos-=1;
}
while((a[pos]=='X' || a[pos]=='O') && printf("Invalid !! Position taken..\n"));
a[pos]='X';
system("clear");
display(a,pos);
if((a[0]==a[1] && a[1]==a[2] && a[2]=='X')||//
(a[3]==a[4] && a[4]==a[5] && a[5]=='X')||//
(a[6]==a[7] && a[7]==a[8] && a[8]=='X')||//
(a[0]==a[3] && a[3]==a[6] && a[6]=='X')||//
(a[1]==a[4] && a[4]==a[7] && a[7]=='X')||//
(a[2]==a[5] && a[5]==a[8] && a[8]=='X')||//
(a[0]==a[4] && a[4]==a[8] && a[8]=='X')||//
(a[2]==a[4] && a[4]==a[6] && a[6]=='X'))
{
printf("\n**** X Wins ****\n");
flag=1;
exit(0);
}
if(i>8 && flag>0) break;
do
{
do
{
printf("Player 2 > Enter the position for O: ");
scanf("%d",&pos);
}
while((pos<0 || pos>9) && printf("Invalid Position!! ..\n"));
pos-=1;
}
while((a[pos]=='X' || a[pos]=='O') && printf("Invalid !! Position taken..\n"));
a[pos]='O';
system("clear");
display(a,pos);
if((a[0]==a[1] && a[1]==a[2] && a[2]=='O')||//
(a[3]==a[4] && a[4]==a[5] && a[5]=='O')||//
(a[6]==a[7] && a[7]==a[8] && a[8]=='O')||//
(a[0]==a[3] && a[3]==a[6] && a[6]=='O')||//
(a[1]==a[4] && a[4]==a[7] && a[7]=='O')||//
(a[2]==a[5] && a[5]==a[8] && a[8]=='O')||//
(a[0]==a[4] && a[4]==a[8] && a[8]=='O')||//
(a[2]==a[4] && a[4]==a[6] && a[6]=='O'))
{
printf("\n**** O Wins ****\n");
flag=2;
exit(0);
}
}
printf("\n Game Draws!!! \n");
}