0

i am tryin to make a c++ program to play tic tac toe.........there are some errors hope u guys can help me out.........

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>

char matrix[3][3];
void cou(void);
int main()
{
	int m,n;
	char ch='y';
	while(ch=='Y'||ch=='y')
	{
		for(m=0;m<3;m++)
		{
			for(n=0;n<3;n++)
			{
				matrix[m][n]='\0';
				int i,j,sum=0;
				while(sum<10)
				{
					if(sum==0)
					{
						cou();
						cout<<"Player 1 is 'X': choose row and column"<<endl;
						cout<<"Row:";
						cin>>i;
						cout<<"column :";
						cin>>j;
						for(i>3||i<1||j>3||j<1||'X'==matrix[i-1][j-1]||'O'++matrix[i-1][j-1])
						{
							cout<<"\n Sorry !!! but you gotta choose another place \t";
							cout<<"row:";
							cin>>i;
							cout<<"column:";
							cin>>j;
							matrix[i-1][j-1]='X';
							sum++;
							cou();
							if(matrix[0][0]=='X'&&matrix[0][0]==matrix[1][1]&&matrix[1][1]==matrix[2][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if{matrix[2][0]=='X'&&matrix[2][0]==matrix[1][1]&&matrix[1][1]==matrix[0][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if(matrix[0][0]=='X'&&matrix[0][0]==matrix[1][0]&&matrix[1][0]==matrix[2][0])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if(matrix[0][1]=='X'&&matrix[0][1]==matrix[1][1]&&matrix[1][1]==matrix[2][1])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if{matrix[0][2]=='X'&&matrix[0][2]==matrix[1][2]&&matrix[1][2]==matrix[2][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if(matrix[0][0]=='X'&&matrix[0][0]==matrix[0][1]==matrix[0][1]==matrix[0][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if(matrix[1][0]=='X'&&matrix[1][0]==matrix[1][1]&&matrix[1][1]==matrix[1][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if(matrix[2][0]=='X'&&matrix[2][0]==matrix[2][1]&&matrix[2][1]==matrix[2][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
						}
							if(sum==9)
							(
								cout<<"\n The game is over and noone wins  hahahaha you both stink \t";
								break;
							}
							cout<<"\n Player 2 is 'O':choose row and column \t";
							cout<<"\n Row \t";
							cin>>i;
							cout<<"\n Column : \t";
							cin>>j;
							for(;i>3||i<1||j>3||j<1||'X'==matrix[i-1][j-1]||'O'++matrix[i-1][j-1];)
						{
							cout<<"\n Sorry !!! but you gotta choose another place \t";
							cout<<"row:";
							cin>>i;
							cout<<"column:";
							cin>>j;
							matrix[i-1][j-1]='O';
							sum++;
							cou();
							if(matrix[0][0]=='O'&&matrix[0][0]==matrix[1][1]&&matrix[1][1]==matrix[2][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if{matrix[2][0]=='O'&&matrix[2][0]==matrix[1][1]&&matrix[1][1]==matrix[0][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if(matrix[0][0]=='O'&&matrix[0][0]==matrix[1][0]&&matrix[1][0]==matrix[2][0])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if(matrix[0][1]=='O'&&matrix[0][1]==matrix[1][1]&&matrix[1][1]==matrix[2][1])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if{matrix[0][2]=='O'&&matrix[0][2]==matrix[1][2]&&matrix[1][2]==matrix[2][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if(matrix[0][0]=='O'&&matrix[0][0]==matrix[0][1]==matrix[0][1]==matrix[0][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if(matrix[1][0]=='O'&&matrix[1][0]==matrix[1][1]&&matrix[1][1]==matrix[1][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							if(matrix[2][0]=='O'&&matrix[2][0]==matrix[2][1]&&matrix[2][1]==matrix[2][2])
							{
								cout<<"\n Player one wins \t";
								break;
							}
							cout<<"\n Would you like to play again??(y/n)\n":
							cin>>ch;
						}
						system("PAUSE");
						return 0;
					}
					void cou(void)
					{
						cout"\n\t\t              123\n"<<endl;
						cout<<"\t\t  1"<<matrix[0][0]<<"|"<<matrix[0][1]<<"|"<<matrix[0][2]<<endl;
						cout<<"\t\t           ---|---|---\n";
						cout<<"\t\t  2"<<matrix[1][0]<<"|"<<matrix[1][1]<<"|"<<matrix[1][2]<<endl;
						cout<<"\t\t           ---|---|---\n";
						cout<<"\t\t  2"<<matrix[2][0]<<"|"<<matrix[2][1]<<"|"<<matrix[2][2]<<"\n\n\n";
					}
2
Contributors
1
Reply
3
Views
8 Years
Discussion Span
Last Post by sfuo
0

I have looked over the code and got it working. However, I guess I cannot post the code or I could lose reputation. The big thing I you should do is reread your code because I found lots of typos and missing statement endings '}'. Also, take a look at your for() loops

for(;i>3||i<1||j>3||j<1||'X'==matrix[i-1][j-1]||'O'++matrix[i-1][j-1];)

and right below your for() loop if you read it it pretty much says unless there is an error on input I'm not going to add the initial input to the matrix.

You also have a line above player 1's turn that says if( sum == 0 ) then its his turn. Sum is only equal to zero on the first turn so that would mean player 1 only gets to have one turn.

It's just a bunch of minor bugs that turn it into a major mess. If after fixing up the things stated above you still have problems just ask I have it all done.

Edited by sfuo: n/a

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.