Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "spis.h"
- #include <iostream>
- #include <conio.h>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- int main(){
- sudoku p1;
- p1.wyczysc();
- p1.petle_for();
- p1.wyswietl();
- return 0;
- }
- #include "spis.h"
- #include <iostream>
- #include <conio.h>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- void sudoku::wyczysc(){
- for(int cx=8;cx>=0;cx--){
- for(int cy=0;cy<=8;cy++){
- tab[cx][cy]=0;
- }
- }
- l2=0;
- }
- void sudoku::losuj(){
- tab[y-1][x-1]=rand()%9+1;
- }
- void sudoku::spr_pion(){
- if(x+y!=2)
- for(int a=2;a<10;a++){
- if(x-a>=0){
- if(tab[y-1][x-1]==tab[y-1][x-a]){
- x--;licznik++;i=1;
- }
- }
- }
- }
- void sudoku::spr_poz(){
- if(x+y!=2)
- for(int a=2;a<10;a++){
- if(y-a>=0){
- if(tab[y-1][x-1]==tab[y-a][x-1]){
- x--;licznik++;i=1;
- }
- }
- }
- }
- void sudoku::spr_reszte_3x3(){
- if(y%3!=1){
- yz=(y-1)%3;
- xz=(x-1)%3;
- for(int c=1;c<3;c++){
- if(yz-c>=0){
- if(xz==0){
- if(tab[y-1][x-1]==tab[y-c-1][x]){
- x--;
- licznik++;
- i=1;
- }
- if(tab[y-1][x-1]==tab[y-c-1][x+1]){
- x--;
- licznik++;
- i=1;
- }
- }
- if(xz==1){
- if(tab[y-1][x-1]==tab[y-c-1][x-2]){
- x--;
- licznik++;
- i=1;
- }
- if(tab[y-1][x-1]==tab[y-c-1][x]){
- x--;
- licznik++;
- i=1;
- }
- }
- if(xz==2){
- if(tab[y-1][x-1]==tab[y-c-1][x-2]){
- x--;
- licznik++;
- i=1;
- }
- if(tab[y-1][x-1]==tab[y-c-1][x-3]){
- x--;
- licznik++;
- i=1;
- }
- }
- }
- }
- }
- }
- void sudoku::zerowanie(){
- if(licznik==100){cout<<"q";x=0;l2++;}
- if(l2==100){cout<<"!";x=0;y=1;l2=0;}
- if(i==0)licznik=0;
- }
- void sudoku::petle_for(){
- for(y=1;y<10;y++){
- for(x=1;x<10;x++){
- losuj();
- i=0;
- spr_pion();
- spr_poz();
- spr_reszte_3x3();
- zerowanie();
- }
- cout<<endl;
- }
- }
- void sudoku::wyswietl(){
- for(y=1;y<10;y++){
- if(y==1)cout<<" - - - - - - - - - - - -"<<endl;
- for(x=1;x<10;x++){
- if(x==1)cout<<"|";
- cout<<" "<<tab[y-1][x-1];
- if(x%3==0)cout<<" |";
- }
- cout<<endl;
- if(y%3==0)cout<<" - - - - - - - - - - - -"<<endl;
- }
- }
- #include <iostream>
- #include <conio.h>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- class sudoku{
- public:
- int r;
- int x,y;
- int tab[9][9];
- int licznik,l2;
- int i;
- int xz,yz;
- void wyczysc(); // zerowanie tablicy
- void losuj(); // losowanie liczny dla elementu tablicy
- void spr_pion(); // sprawdza czy liczba już jest pionowo 1-9
- void spr_poz(); // sprawdza czy liczba już jest poziomo 1-9
- void spr_reszte_3x3(); // sprawdza czy liczba już jest pozostałych polach niż pionowo i poziomo w kwadratach 3x3 1-9
- void zerowanie(); // zeruje liczniki jeżeli wpisze liczbe do tabeli, jezeli nie znajdzie liczby zaczyna algorytm od nowa
- void petle_for(); // 2 pętle for liczące od 1 do 9
- void wyswietl(); // wyświetla sudoku
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement