Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

This needs to be done in C not C++. Please help me out and follow the directions

ID: 3817313 • Letter: T

Question

This needs to be done in C not C++. Please help me out and follow the directions exactly.

Write a program that declares a 2 dimensional array of chars with 3 rows and 3 columns. Write functions called initializeBoard(), displayBoard(), and makeMove(). initializeBoard() should fill the array with space characters (''), displayBoard() should display the current board, with the rows and columns labled, and makeMove() should ask the user to enter a row and a column and change that square to alternating X's or a O's. Display the board again after each move. The program should run for 9 moves. Use the following function prototypes: void initialize Board (char [] [COLS]); void displayBoard (char [][COLS]); void make Move (char [][COLS], char); Example: 1 2 3 1 [] [] [] 2 [] [] [] 3 [] [] []

Explanation / Answer

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define COLS 3
char square[10] = { 'o', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
int checkwin();
void displayBoard();
void initializeBoard();
void validMove(char,int,int *);
void makeMove(char [][COLS]);

int main()
{

int player = 1, i, choice;
initializeBoard();
char mark;
do
{
displayBoard();
player = (player % 2) ? 1 : 2;
printf("Player %d, enter a number: ", player);
scanf("%d", &choice);
mark = (player == 1) ? 'X' : 'O';
validMove(mark,choice ,&player);
i = checkwin();
player++;
}while (i == - 1);
  
displayBoard();
  
if (i == 1)
printf("==>Player %d win ", --player);
else
printf("==>Game draw");
exit(0);
return 0;
}

void validMove(char mark,int choice, int *player){
if (choice == 1 && square[1] == '1')
square[1] = mark;
  
else if (choice == 2 && square[2] == '2')
square[2] = mark;
  
else if (choice == 3 && square[3] == '3')
square[3] = mark;
  
else if (choice == 4 && square[4] == '4')
square[4] = mark;
  
else if (choice == 5 && square[5] == '5')
square[5] = mark;
  
else if (choice == 6 && square[6] == '6')
square[6] = mark;
  
else if (choice == 7 && square[7] == '7')
square[7] = mark;
  
else if (choice == 8 && square[8] == '8')
square[8] = mark;
  
else if (choice == 9 && square[9] == '9')
square[9] = mark;
  
else
{
printf("Invalid move ");
*player = *player -1;
// getch();
exit(0);
}
}
/*********************************************
FUNCTION TO RETURN GAME STATUS
1 FOR GAME IS OVER WITH RESULT
-1 FOR GAME IS IN PROGRESS
O GAME IS OVER AND NO RESULT
**********************************************/
int checkwin()
{
if (square[1] == square[2] && square[2] == square[3])
return 1;
  
else if (square[4] == square[5] && square[5] == square[6])
return 1;
  
else if (square[7] == square[8] && square[8] == square[9])
return 1;
  
else if (square[1] == square[4] && square[4] == square[7])
return 1;
  
else if (square[2] == square[5] && square[5] == square[8])
return 1;
  
else if (square[3] == square[6] && square[6] == square[9])
return 1;
  
else if (square[1] == square[5] && square[5] == square[9])
return 1;
  
else if (square[3] == square[5] && square[5] == square[7])
return 1;
  
else if (square[1] != '1' && square[2] != '2' && square[3] != '3' &&
square[4] != '4' && square[5] != '5' && square[6] != '6' && square[7]
!= '7' && square[8] != '8' && square[9] != '9')
return 0;
else
return - 1;
}

/*******************************************************************
FUNCTION TO DRAW BOARD OF TIC TAC TOE WITH PLAYERS MARK
********************************************************************/
void initializeBoard()
{
system("cls");
printf(" Tic Tac Toe ");
printf("Player 1 (X) - Player 2 (O) ");

printf("| | | ");
printf("| | | ");
printf("_____|_____|_____ ");
printf("| | | ");
printf("| | | ");
printf("_____|_____|_____ ");
printf("| | ");
printf("| | | ");
printf("| | | ");
}

void displayBoard()
{
system("cls");
printf(" Tic Tac Toe ");
printf("Player 1 (X) - Player 2 (O) ");

printf("| | | ");
printf("| %c | %c | %c ", square[1], square[2], square[3]);
printf("_____|_____|_____ ");
printf("| | | ");
printf("| %c | %c | %c ", square[4], square[5], square[6]);
printf("_____|_____|_____ ");
printf("| | | ");
printf("| %c | %c | %c ", square[7], square[8], square[9]);
printf("| | | ");
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote