سلام بچه ها.این سورس کد حل سودوکو هست که خیلی وقته نوشتم.در ضمن اینو تو برنامه dev نوشتم.امیدوترم به دردتوم بخوره.
یه موردم هست که این سورس کد مربوط به پروژه دانشگاه هستش و اگه قصد کپی رایت دارین من راضی نیستم

#include <iostream>
using namespace std;
/////adad ra dar raduif hal mikonad
bool adaderadif(int jadval[9][9], int radif, int num)
{
for (int sutun=0;sutun<9;sutun++)
if (jadval[radif][sutun] == num)
return true;

return false;
}

/////adad ra dar sutun hal mikonad
bool adadesutun(int jadval[9][9], int sutun, int num)
{
for (int radif=0;radif< 9;radif++)
if (jadval[radif][sutun] == num)
return true;

return false;
}

/////adad ra dar box hal mikonad
bool adadebox(int jadval[9][9], int radifebox, int sutunebox, int num)
{
for (int radif=0;radif<3;radif++)
for (int sutun=0;sutun<3;sutun++)
if (jadval[radif+radifebox][sutun+sutunebox] == num)
return true;

return false;
}
//////in tabe baraye barasi tamami radif va sutun va box ast
bool komaki(int jadval[9][9], int radif, int sutun, int num)
{
return (adaderadif(jadval, radif, num)==false && adadesutun(jadval, sutun, num)==false &&
adadebox(jadval, radif - radif % 3 , sutun - sutun % 3, num)==false);


}
//////in tabe khanehaye khali ta barasi mikonad agar nabashad jadval chap mishavad
bool khanehayekhali(int jadval[9][9], int &radif, int &sutun)
{
for (radif=0;radif<9;radif++)
for (sutun=0;sutun<9;sutun++)
if (jadval[radif][sutun] == 0)
return true;

return false;
}
////in tabe baraye hale jadval ast
bool halejadval(int jadval[9][9])
{
int radif, sutun;
if (khanehayekhali(jadval, radif, sutun)==false)
return true;

for(int num=1;num<=9;num++)
{

if (komaki(jadval, radif, sutun,num)==true)
{
jadval[radif][sutun] = num;
if (halejadval(jadval))
return true;
jadval[radif][sutun] = 0;
}
}
return false;
}
bool proje(int jadval[9][9],int m)
{
int radif,sutun;
if(khanehayekhali(jadval,radif,sutun)==false)
return true;
else
if(komaki(jadval,radif,sutun,m)==true)
{
jadval[radif][sutun]==22;
if(proje(jadval,m))
return true;
jadval[radif][sutun]=0;

}

}


int main()
{
int jadval[9][9];
int i,j,radif,sutun,m;
cout<<"\t\t\t\tproje sodoku\n"<<"jadval ra vared namayin:\n";
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{
cin>>jadval[i][j];
}
}


if (halejadval(jadval) == true)
{
cout<<"javabe sodoku:\n";
for(radif=0;radif<9;radif++)
{
for(sutun=0;sutun<9;sutun++)
{
cout<<jadval[radif][sutun]<<" ";
}
cout<<endl;
}
}

return 0;

}