[Solved] Creating a tic tac toe game. I want to create a 3×3 vector that stores the values for rows and columns then print out the board in the function


//Play Tic Tac Toe game between user and computer

#include<iostream>
#include<cstdio>
#include<stdlib.h>
#include<time.h>

#define BLANK 5

using namespace std;

/***************** Display the Matrix **********************************************/
//Display the matrix
void display(int matrix[3][3])
{
    for(int i=0;i<3;i++){
        for(int j=0;j<3;j++)
            cout<<matrix[i][j]<<"\t";
        cout<<endl;
    }
}

/************** Chance of WIN Function *****************************************************/

//Funtion to detect the chance of either for user or systemĵ
int chance_of_win(int matrix[3][3],int i, int j,int choice){

int result=0;//This variale is used to return the required position
int other_choice;//This variable is used for other choice of the variable choice

if(choice==0)
    other_choice=1;
else
    other_choice=0;

int count1=0;//This variable is used to check the count upto 2

    //Diagonal Intelligent
    if(i==j){
        for(int k=0;k<3;k++){
            if(matrix[k][k]==choice)
                count1++;

            if(count1==2){   // That means user is going to win and system has to stop that
                for(int k=0;k<3;k++){
                    if(matrix[k][k]!=choice && matrix[k][k]!=other_choice){
                        int temp=k;
                        temp=temp*10;
                        result=temp+k;
                        return result;
                    }
                }
            }
        }//for looop ends here
    }//If Structure ends here

count1=0; //Reinitilize the count to zero

    //Reverse Diagonal intelligent
    for(int m=0,n=2;m<3,n>=0;m++,n--){
        if(matrix[m][n]==choice){
            count1++;
        }

        if(count1==2){   // That means user/system is going to win reverse diagnally
        for(int m=0,n=2;m<3,n>=0;m++,n--){
                if(matrix[m][n]!=choice && matrix[m][n]!=other_choice){
                    int temp=m;
                    temp=temp*10;
                    result=temp+n;
                    return result;
                }
            }
        }//End of If structure
    }//End for loop

count1=0; //Reinitilize the count to zero

    //Row Intelligent
    for(int k=0;k<3;k++){
        if(matrix[i][k]==choice)
            count1++;

        if(count1==2){   // That means user/system is going to win
            for(int k=0;k<3;k++){
                if(matrix[i][k]!=choice && matrix[i][k]!=other_choice){
                    int temp=i;
                    temp=temp*10;//for the ith coordiante
                    result=temp+k;//for the jth cordinate
                    return result;//Return the required attribute of i and j
                }
            }
        }
    }//for looop ends here

count1=0; //Reinitilize the count to zero

    //Column Intelligent
    for(int k=0;k<3;k++){
        if(matrix[k][j]==choice)
            count1++;

        if(count1==2){   // That means user is going to win and system has to stop that
            for(int k=0;k<3;k++){
                if(matrix[k][j]!=choice && matrix[k][j]!=other_choice){
                    int temp=k;
                    temp=temp*10;//for the ith coordinate
                    result=temp+j;//for the jth coordinate
                    return result;//Return the required attribute of i and j
                }
            }
        }
    }//for looop ends here


return result;
}//function ends here

/******************* Check Win Bool Function ******************************************************/

//This function is used to check the win of the system/user
bool checkwin(int matrix[3][3],int i, int j,int choice){
bool flag=false;//Initialize the chance of win false
int count1=0;
    //Diagonal checkwin forward
    if(i==j){
        for(int k=0;k<3;k++){
            if(matrix[k][k]==choice){
                count1++;
            }
            if(matrix[k][k]==BLANK)
                break;
        }

        if(count1==3)//Means all diagonal elements are equal
            flag=true;
    }

    //If the Diaganoal Forward is same then return
    if(flag){
        cout<<"Diagonal Win\n";
        return flag;
    }

    //Reverse Diagonal checkwin
    for(int m=0,n=2;m<3,n>=0;m++,n--){
        if(matrix[m][n]!=choice || matrix[m][n]==BLANK){
            flag=false;//If diagonal is not same
            break;
        }
         flag=true;
    }

    //If the Reverse Diaganoal Forward is same then return
    if(flag){
        cout<<"Reverse Diagonal Win\n";
        return flag;
    }

    //Row checkwin
    for(int k=0;k<3;k++){
        if(matrix[i][k]!=choice || matrix[i][k]==BLANK){
            flag=false;// Row is not same
            break;
         }
         flag=true;
    }
    //If row is same then return
    if(flag){
        cout<<"Row Win\n";
        return flag;
    }

    //Column checkwin
    for(int k=0;k<3;k++){
        if(matrix[k][j]!=choice || matrix[k][j]==BLANK){
            flag=false;//Column is not same
            break;
         }
         flag=true;
    }
    //If the Column is same then return
    if(flag){
        cout<<"Column Win\n";
        return flag;
    }


    return flag;//return the result false result i.e there is no chance of win
                //as we have checked all the conditions
}

/*************************  Main Function **************************************************/

int main(){

int matrix[3][3];

bool flag;
int toss;
srand(time(NULL));
toss=rand()%2;

if(toss){
    flag=true;
    cout<<"User Wins the Toss\n";
}
else{
    flag=false;
    cout<<"System Wins the Toss\n";
}
//Initialise all the elements of matrix to BLANK i.e. Blank

for(int i=0;i<3;i++)
    for(int j=0;j<3;j++)
        matrix[i][j]=BLANK;

cout<<"For user the choice is 0\n";
cout<<"For system the choice is 1\n";

int v=1;//Initialise the the variable v , it has the increment till 9 to cover all the elements of the matrix

bool system1=false;//To check the chance of win of system

int user_status=0;//To check the chance of win of user and accordingly system will put his move
int system_status;////To check the chance of win of system and accordingly system will put his move

while(v<=9){

int i,j;// "i" is for the row coordinate and "j" is for the column coordinate

    if(flag==true){// If user win's the toss
        cout<<"Yours turn\n";
        cout<<"Enter the row coordinate";
        cin>>i;
        i--;//For user convenience i th coordinate
        cout<<"Enter the column coordinate";
        cin>>j;
        j--;//For user convenience jth coordinate
        if(matrix[i][j]==BLANK)
            matrix[i][j]=0;//Put the user move
        else{
            cout<<"Already Occupied\n"; //Warn user to fill the blank space
            continue;//Don't count this in "variable v" means don't increment the variable "v"
                    //as it was invalid move
        }

        // After three attempts it will check , this code is for system
        if(v>2)
            user_status=chance_of_win(matrix,i,j,0);//User chance of win

        //checkwin whether game is over i.e whether user win
        if(v>4){
            if(checkwin(matrix,i,j,0)){
                cout<<"\n\tBingo !! User win\n\tCongrats Well played\n";
                display(matrix);
                return 0;
            }
         }

        flag=false;// Let the System play next move
        display(matrix);//display the matrix
        cout<<"\nWait! System turns\n";
    }

    else{//System's Turn
        if(system1==true){//Chance of System of winning
            j=system_status%10;//get the j coordinate
            i=system_status/10;//get the i coordinate
            //cout<<"System chance win i = "<<i<<" j = "<<j<<endl;

            /*If Structure of Check whether place is empty for winning the system*/
            if(matrix[i][j]==BLANK){//Is place is empty
                matrix[i][j]=1;
                if(checkwin(matrix,i,j,1)){
                    display(matrix);//Display the current scenerio of the game
                    cout<<"Sorry You loose !! System wins\n";
                    return 0;
                }//end if structure of check win
            }
            else//Means space is occupied by user, and chance of winning by system is lost
                system1=false;//Now let the system to defense the user's move
            /*Ends If Structure of Check whether place is empty for winning the system*/
        }

        if(system1==false){
            if(user_status!=0){//If User is going to win , warn the system
                j=user_status%10;//get the j coordinate
                i=user_status/10;//get the i coordinate
                //cout<<"User chance win i = "<<i<<" j = "<<j<<endl;
            }
            else{
                if(v==9){//There is no point to check random number if noone is winning at the end
                        cout<<"\t\tMatch draw"<<endl;
                        return 0;
                }
                srand(time(NULL));
                i=rand()%3; //random i coordinate
                srand(time(NULL));
                j=rand()%3; //random j coordinate
            }
            /*If System turn's of writting*/
            if(matrix[i][j]==BLANK)
                matrix[i][j]=1;
            else
                continue;
            /*End If Structure of writting system turn's*/
        }//end If Structure is sytem chance of win = false

        if(v>2){// This condition is necessary to avoid irrevelant check
            system_status=chance_of_win(matrix,i,j,1); //System chance of win
            if(system_status==0){
                    system1=false;
                    cout<<"\n Not System Chance of win \n";
            }
            else{
                system1=true;
                cout<<"\n System Chance of win \n";
            }
        }
        else{
            system_status=0;
            system1=false;
        }

        flag=true;//Let the user play his next move
        display(matrix);

    }
v++;
}//end of while v<9

return 0;
}

solved Creating a tic tac toe game. I want to create a 3×3 vector that stores the values for rows and columns then print out the board in the function