Guest User

Untitled

a guest
Jan 24th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.80 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. void show_table(int n[3][3]);
  4. int check(int n[3][3]);
  5. int wstawX(int n[3][3]);
  6. int wstawO(int n[3][3]);
  7. int wstawKropki(int n[3][3]);
  8.  
  9. using namespace std;
  10.  
  11. int main(){
  12.     int x,y,board[3][3];
  13.     wstawKropki(board);
  14.     do{
  15.         wstawX(board);
  16.         show_table(board);
  17.         wstawO(board);
  18.         show_table(board);
  19.     }while(1==1);
  20.     return 0;
  21. }
  22.  
  23. void show_table(int n[3][3]){
  24.     cout << "*******\n";
  25.     for(int i=0;i<3;i++){
  26.         cout << "*";
  27.         for(int j=0;j<3;j++) cout << n[i][j] << "|";
  28.         cout << "\n*******\n";
  29.     }
  30. }
  31.  
  32. int check(int n[3][3]){
  33.     int i,j,sum;
  34.     for(i=0;i<3;i++){
  35.         sum=0;
  36.         for(j=0;j<2;j++) if(n[i][j]==n[i][j+1]) sum++;
  37.         if(sum==2) return n[i][j]; //pion
  38.         sum=0;
  39.         for(j=0;j<2;j++) if(n[j][i]==n[j+1][i]) sum++;
  40.         if(sum==2) return n[j][i]; // poziom
  41.     }
  42.     i=0;
  43.     for(i=0;i<2;i++){
  44.         sum=0;
  45.         if(n[i][i]==n[i+1][i+1]) sum++;
  46.         if(sum==2) return n[i][i];
  47.         sum=0;
  48.         if(n[3-i][i]==n[3-(i+1)][i+1]) sum++;
  49.         if(sum==2) return n[3-i][i];
  50.     }
  51.     sum = 0;
  52.     for(i=0;i<3;i++) for(j=0;j<3;j++) if(n[i][j]!=0) sum++;
  53.     if(sum==9) return 3;
  54.     return 0;
  55. }
  56.  
  57. int wstawX(int n[3][3]){
  58.     int x,y;
  59.     do{
  60.          cout << "podaj wspolrzedna x: ";
  61.          cin >> x;
  62.          cout << "podaj wspolrzedna y: ";
  63.          cin >> y;
  64.          if(n[y-1][x-1]==0){
  65.             n[y-1][x-1] = 1;
  66.             break;
  67.          }
  68.     }while(1==1);
  69.     return n[3][3];    
  70. }
  71.  
  72. int wstawO(int n[3][3]){
  73.     int x,y;
  74.     do{
  75.          cout << "podaj wspolrzedna x: ";
  76.          cin >> x;
  77.          cout << "podaj wspolrzedna y: ";
  78.          cin >> y;
  79.          if(n[y-1][x-1]==0){
  80.             n[y-1][x-1] = 2;
  81.             break;
  82.          }
  83.     }while(1==1);
  84.     return n[3][3];
  85. }
  86.  
  87. int wstawKropki(int n[3][3]){
  88.     for(int i=0;i<3;i++) for(int j=0;j<3;j++) n[i][j] = 0;
  89.     return n[3][3];
  90. }
Add Comment
Please, Sign In to add comment