Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int xctr = 0, octr = 0;
- int winner(int n, char tic[n][n]) {
- int i, j; // i - rows; j - columns
- int flag = 0;
- for(i = 0; i < n; i++){// horizontal
- j = 0;
- while(j < n){
- if(tic[i][j] == tic[i][j+1]){
- if(j+1 == n-1){
- if(tic[i][j+1] == 'X')
- xctr = xctr + j + 2;
- else
- octr = octr + j + 2;
- flag = 1;
- break;
- } else
- j++;
- } else {
- break;
- }
- }
- }
- for(j=0; j<n; j++) { // vertical
- i=0;
- while(i<n){
- if(tic[i][j] == tic[i+1][j]){
- if(i+1 == n-1){
- if(tic[i+1][j] == 'X')
- xctr = xctr + i + 2;
- else
- octr = octr + i + 2;
- flag = 1;
- break;
- } else
- i++;
- } else{
- break;
- }
- }
- }
- i=0;
- while(i<n){ // diagonal left
- if(tic[i][i] == tic[i+1][i+1]){
- if(i + 1 == n - 1){
- if(tic[i+1][i+1] == 'X')
- xctr = xctr + i + 2;
- else if(tic[i+1][i+1] == 'O')
- octr = octr + i + 2;
- flag = 1;
- break;
- } else
- i++;
- } else {
- break;
- }
- }
- i=0;
- while(i<n){ // diagonal right
- if(tic[i][n-1] == tic[i+1][n-2]){
- if(i + 1 == n - 1){
- if(tic[i+1][n-2] == 'X')
- xctr = xctr + i + 2;
- else if (tic[i+1][n-2] == 'O')
- octr = octr + i + 2;
- flag = 1;
- break;
- } else {
- i++;
- n--;
- }
- } else {
- break;
- }
- }
- return flag;
- }
- int main() {
- int n;
- int k;
- printf("Input size: ");
- scanf("%d", &n);
- char tic[n][n];
- printf("Input Xs and Os: \n");
- for(k=0; k<n; k++){
- scanf("%s", tic[k]);
- }
- if(winner(n, tic) == 1){
- printf("xctr: %d\n", xctr);
- printf("octr: %d\n", octr);
- if(xctr == octr)
- printf("It's a draw.");
- else if(xctr > octr)
- printf("X wins.");
- else
- printf("O wins.");
- } else
- printf("Invalid. No one wins.");
- return 0;
- }
Add Comment
Please, Sign In to add comment