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";
					}

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 7 Years Ago by sfuo: n/a

This question has already been answered. Start a new discussion instead.