daily pastebin goal
78%
SHARE
TWEET

Untitled

a guest Jun 13th, 2018 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <cstdlib> /
  3. #include <windows.h> // biblioteka pozwalajaca nam wykorzystac komendy z zakresu system("...")
  4.  
  5. using namespace std;
  6.  
  7. void plansza(char p[]) // algorytm rysujacy plansze 9x9 z pustymi komorkami oznaczonymi p[i]
  8. {
  9.      cout << "\n---+---+---+---+---+---+---+---+---+\n";
  10.     for(int i=1; i <= 81; i++)
  11.   {
  12.     cout << " "<< p[i] <<" ";
  13.     if(i % 9 )
  14.       cout << "|";
  15.     else if(i != 10000)
  16.       cout << "\n---+---+---+---+---+---+---+---+---+\n";
  17.     else
  18.         cout << endl;
  19.   }
  20. }
  21.  
  22. char ruch(char p[]) //funckja odpowiedzialna za wpisaywanie wartosci w odpowiednie miejsca na planszy
  23. {
  24.     int r;
  25.     char w;
  26.  
  27.     cout << "Wybierz pole:";
  28.     cin >> r; // r oznacza miejsce, w ktore gracz chce wpisac jakas liczbe
  29.  
  30.     if((r >= 1) && (r <= 81) && (r != 3) && (r != 5) && (r != 7) && (r !=9) && (r != 11) && (r != 12) && (r != 17) && (r !=19)
  31.        && (r !=33) && (r != 35) && (r != 37) && (r != 38) && (r !=39) && (r != 43) && (r != 54) && (r != 63) && (r !=67) && (r != 69)
  32.        && (r !=75) && (r !=79))
  33.         {
  34.             cout << "Podaj wartosc, ktora ma byc wpisana w wyzej podane pole:";
  35.             cin >> w; // w oznacza liczbe ktora gracz chce wpisac w miejsce podane wyzej
  36.                 if((w='1') || (w='2') || (w='3') || (w='4') || (w='4') || (w='5') || (w='6') || (w='7') || (w='8') || (w='9'))
  37.                 // if, ktory ma za zadanie pozwolic wpisywac tylko wartosci z zakresu 1-9
  38.                     {
  39.                         p[r] = w;
  40.                     }
  41.                     else cout << "bledna wartosc!";
  42.         }
  43.     else cout << "Bledna wartosc!";
  44.  
  45.     Sleep(750); // funkcja usypia program na 750 mili sekund
  46.     system("cls"); // po czym czysci ekran konsoli cmd
  47.     return *p;
  48. }
  49.  
  50. bool Wygrana(char p[])
  51. {
  52.     int IloscZnalezionych=0;
  53.     bool wygrana = false;
  54.  
  55.         for (int i=1;i<82;i++)
  56.         {
  57.             if ((p[i] == '1') || (p[i] == '2') || (p[i] == '3') || (p[i] == '4')
  58.                 || (p[i] == '5') || (p[i] == '6') || (p[i] == '7') || (p[i] == '8') || (p[i] == '9'))
  59.                 {
  60.                     IloscZnalezionych++;
  61.                 }
  62.         }
  63.  
  64.         if(IloscZnalezionych == 81)
  65.             {
  66.                 wygrana = true;
  67.             }
  68.  
  69.     return wygrana;
  70. }
  71.  
  72. int main()
  73. {
  74.     char p[82]; // p[82], a nie 81 ze wzgledu na nie uwzglednienie numeracji od 0 w tablicach c++
  75.  
  76.     for(int i=0; i<82; i++)
  77.     {
  78.         p[i]='0';
  79.     }
  80.  
  81.     p[3]='1';   p[5]='8';     p[7]='2';   p[9]='3';     p[11]='9';
  82.     p[12]='2';  p[17]='7';    p[19]='7';  p[33]='7';    p[35]='1';
  83.     p[37]='9';  p[38]='3';    p[39]='2';  p[43]='8';    p[54]='9';
  84.     p[63]='5';  p[67]='8';    p[69]='9';  p[75]='6';    p[79]='9'; // recznie zostala uzupelniona w niektorych miejscach plansza sudoku
  85.  
  86.     for(int i=0; i<82; i++)
  87.     {
  88.         if ((p[i] != '1') && (p[i] != '2') && (p[i] != '3') && (p[i] != '4')
  89.         && (p[i] != '5') && (p[i] != '6') && (p[i] != '7') && (p[i] != '8') && (p[i] != '9'))
  90.             {
  91.                 p[i] = ' ';
  92.             }
  93.     }
  94.  
  95.     bool wygrana=false;
  96.  
  97.     while(!wygrana)
  98.         {
  99.             plansza(p);
  100.             *p = ruch(p);
  101.             wygrana = Wygrana(p);
  102.         }
  103.  
  104.     cout << "Brawo! Wygrales";
  105.  
  106.     cout << "Nacisnij dowolony przycisk, aby opuscic gre:";
  107.     system("pause>nul");
  108.  
  109.     return 0;
  110. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top