sudoku1


#include
#include
#include
#include
#include
#include
#include

using namespace std;


void wyswietl(vector< vector > plansza)
{
for (int w = 0; w<11; w++)
{
plansza[w].resize(11);


for (int k = 0; k<9; k++)
{
if (k != 2 && k != 5)
{
cout << plansza[w][k] << " ";
}
else
{
cout << plansza[w][k] << "|";
}
}
cout << endl;
}
}
void ukryj(vector< vector > & plansza)
{
for (int w = 0; w<11; w++)
{
plansza[w].resize(11);
for (int k = 0; k < 9; k++)
{
int b = rand() % 9;



}
}
}

void pobierz(int & w, int & k, int & panel, vector< vector > plansza) //referencje
{
cout << "Podaj numer kwadratu" << endl;
cin >> panel;
if (panel == 7)
{

map > num_poz;
num_poz[7] = pair(0, 0);
num_poz[8] = pair(0, 1);
num_poz[9] = pair(0, 2);
num_poz[4] = make_pair(1, 0);
num_poz[5] = make_pair(1, 1);
num_poz[6] = make_pair(1, 2);
num_poz[1] = make_pair(2, 0);
num_poz[2] = make_pair(2, 1);
num_poz[3] = make_pair(2, 2);
while (true)
{
cout << "podaj pozycje" << endl;
int poz;
cin >> poz;
if (poz<1 || poz>9)
{
cout << "pozycja nieprawidlowa" << endl;
continue;
}
w = num_poz[poz].first;
k = num_poz[poz].second;
if (plansza[w][k] == '.')
{
break;
}
else
{
cout << "pozycja zajeta" << endl;
}
}
}
if (panel == 8)
{

map > num_poz;
num_poz[7] = pair(0, 3);
num_poz[8] = pair(0, 4);
num_poz[9] = pair(0, 5);
num_poz[4] = make_pair(1, 3);
num_poz[5] = make_pair(1, 4);
num_poz[6] = make_pair(1, 5);
num_poz[1] = make_pair(2, 3);
num_poz[2] = make_pair(2, 4);
num_poz[3] = make_pair(2, 5);
while (true)
{
cout << "podaj pozycje" << endl;
int poz;
cin >> poz;
if (poz<1 || poz>9)
{
cout << "pozycja nieprawidlowa" << endl;
continue;
}
w = num_poz[poz].first;
k = num_poz[poz].second;
if (plansza[w][k] == '.')
{
break;
}
else
{
cout << "pozycja zajeta" << endl;
}
}
}
if (panel == 9)
{

map > num_poz;
num_poz[7] = pair(0, 6);
num_poz[8] = pair(0, 7);
num_poz[9] = pair(0, 8);
num_poz[4] = make_pair(1, 6);
num_poz[5] = make_pair(1, 7);
num_poz[6] = make_pair(1, 8);
num_poz[1] = make_pair(2, 6);
num_poz[2] = make_pair(2, 7);
num_poz[3] = make_pair(2, 8);
while (true)
{
cout << "podaj pozycje" << endl;
int poz;
cin >> poz;
if (poz<1 || poz>9)
{
cout << "pozycja nieprawidlowa" << endl;
continue;
}
w = num_poz[poz].first;
k = num_poz[poz].second;
if (plansza[w][k] == '.')
{
break;
}
else
{
cout << "pozycja zajeta" << endl;
}
}
}
if (panel == 4)
{

map > num_poz;
num_poz[7] = pair(4, 0);
num_poz[8] = pair(4, 1);
num_poz[9] = pair(4, 2);
num_poz[4] = make_pair(5, 0);
num_poz[5] = make_pair(5, 1);
num_poz[6] = make_pair(5, 2);
num_poz[1] = make_pair(6, 0);
num_poz[2] = make_pair(6, 1);
num_poz[3] = make_pair(6, 2);
while (true)
{
cout << "podaj pozycje" << endl;
int poz;
cin >> poz;
if (poz<1 || poz>9)
{
cout << "pozycja nieprawidlowa" << endl;
continue;
}
w = num_poz[poz].first;
k = num_poz[poz].second;
if (plansza[w][k] == '.')
{
break;
}
else
{
cout << "pozycja zajeta" << endl;
}
}
}
if (panel == 5)
{
map > num_poz;
num_poz[7] = pair(4, 3);
num_poz[8] = pair(4, 4);
num_poz[9] = pair(4, 5);
num_poz[4] = make_pair(5, 3);
num_poz[5] = make_pair(5, 4);
num_poz[6] = make_pair(5, 5);
num_poz[1] = make_pair(6, 3);
num_poz[2] = make_pair(6, 4);
num_poz[3] = make_pair(6, 5);
while (true)
{
cout << "podaj pozycje" << endl;
int poz;
cin >> poz;
if (poz<1 || poz>9)
{
cout << "pozycja nieprawidlowa" << endl;
continue;
}
w = num_poz[poz].first;
k = num_poz[poz].second;
if (plansza[w][k] == '.')
{
break;
}
else
{
cout << "pozycja zajeta" << endl;
}
}
}
if (panel == 6)
{
map > num_poz;
num_poz[7] = pair(4, 6);
num_poz[8] = pair(4, 7);
num_poz[9] = pair(4, 8);
num_poz[4] = make_pair(5, 6);
num_poz[5] = make_pair(5, 7);
num_poz[6] = make_pair(5, 8);
num_poz[1] = make_pair(6, 6);
num_poz[2] = make_pair(6, 7);
num_poz[3] = make_pair(6, 8);
while (true)
{
cout << "podaj pozycje" << endl;
int poz;
cin >> poz;
if (poz<1 || poz>9)
{
cout << "pozycja nieprawidlowa" << endl;
continue;
}
w = num_poz[poz].first;
k = num_poz[poz].second;
if (plansza[w][k] == '.')
{
break;
}
else
{
cout << "pozycja zajeta" << endl;
}
}
}
if (panel == 1)
{
map > num_poz;
num_poz[7] = pair(8, 0);
num_poz[8] = pair(8, 1);
num_poz[9] = pair(8, 2);
num_poz[4] = make_pair(9, 0);
num_poz[5] = make_pair(9, 1);
num_poz[6] = make_pair(9, 2);
num_poz[1] = make_pair(10, 0);
num_poz[2] = make_pair(10, 1);
num_poz[3] = make_pair(10, 2);
while (true)
{
cout << "podaj pozycje" << endl;
int poz;
cin >> poz;
if (poz<1 || poz>9)
{
cout << "pozycja nieprawidlowa" << endl;
continue;
}
w = num_poz[poz].first;
k = num_poz[poz].second;
if (plansza[w][k] == '.')
{
break;
}
else
{
cout << "pozycja zajeta" << endl;
}
}

}
if (panel == 2)
{
map > num_poz;
num_poz[7] = pair(8, 3);
num_poz[8] = pair(8, 4);
num_poz[9] = pair(8, 5);
num_poz[4] = make_pair(9, 3);
num_poz[5] = make_pair(9, 4);
num_poz[6] = make_pair(9, 5);
num_poz[1] = make_pair(10, 3);
num_poz[2] = make_pair(10, 4);
num_poz[3] = make_pair(10, 5);
while (true)
{
cout << "podaj pozycje" << endl;
int poz;
cin >> poz;
if (poz<1 || poz>9)
{
cout << "pozycja nieprawidlowa" << endl;
continue;
}
w = num_poz[poz].first;
k = num_poz[poz].second;
if (plansza[w][k] == '.')
{
break;
}
else
{
cout << "pozycja zajeta" << endl;
}
}
}
if (panel == 3)
{
map > num_poz;
num_poz[7] = pair(8, 6);
num_poz[8] = pair(8, 7);
num_poz[9] = pair(8, 8);
num_poz[4] = make_pair(9, 6);
num_poz[5] = make_pair(9, 7);
num_poz[6] = make_pair(9, 8);
num_poz[1] = make_pair(10, 6);
num_poz[2] = make_pair(10, 7);
num_poz[3] = make_pair(10, 8);
while (true)
{
cout << "podaj pozycje" << endl;
int poz;
cin >> poz;
if (poz<1 || poz>9)
{
cout << "pozycja nieprawidlowa" << endl;
continue;
}
w = num_poz[poz].first;
k = num_poz[poz].second;
if (plansza[w][k] == '.')
{
break;
}
else
{
cout << "pozycja zajeta" << endl;
}
}
}

}

int main()
{
srand(time(0));
vector licz;
licz.push_back('1');
licz.push_back('2');
licz.push_back('3');
licz.push_back('4');
licz.push_back('5');
licz.push_back('6');
licz.push_back('7');
licz.push_back('8');
licz.push_back('9');

vector< vector > plansza(11);
for (int w = 0; w<11; w++)
{
plansza[w].resize(11);
for (int k = 0; k<9; k++)
{

if (w == 3)
{
plansza[w][k] = '-';
}
else if (w == 7)
{
plansza[w][k] = '-';
}
else
{

int a = rand()%9;
if (w==1)
plansza[w][k] = licz[a];

}

}
}
char gracz = 'X';

//for (int i = 0; i < 9; i++)
//{
//
// cout << licz[i] << endl;
//}
int ruch = 0;
while (true)
{
wyswietl(plansza);
int w, k, panel;
pobierz(w, k, panel, plansza);
plansza[w][k] = gracz;
ruch++;

if (ruch == 81)
{
cout << "Sprawdzam" << endl;
break;
}
if (gracz == 'X') gracz = 'O';
else gracz = 'X';
}
return 0;
}

Wyszukiwarka

Podobne podstrony:
sudokuc
Sudoku csproj FileListAbsolute
sudoku
Sudoku csproj FileListAbsolute (2)
Sudoku Facile

więcej podobnych podstron