فكرت في عمل برنامج لايجاد جميع الصناديق السحرية من النوع 3×3
البرنامج فكرته سهله لكن لم تعجبني الطريقه التي اوجدت بها الصناديق واتمنى من اخواني
اعطاء افكار او خوارزميه افضل.
#include<iostream>
using namespace std;
int main()
{
/*عناصر الصندوق*/
int a[9]={1,2,3,4,5,6,7,8,9};
for(int i=0;i<9;i++) //1
for(int t=0;t<9;t++)//2
for(int j=0;j<9;j++)//3
for(int r=0;r<9;r++)//4
for(int n=0;n<9;n++)//5
for(int s=0;s<9;s++)//6
for(int v=0;v<9;v++)//7
for(int x=0;x<9;x++)//8
for(int y=0;y<9;y++)//9
{
if(
/*من هنا شرط تبديل العناصر من 1 الى 9*/
(a!=a[t]&&a!=a[j]&&a!=a[r]&&a!=a[n]&&a!=a&&a!=a[v]&&a!=a[x]&&a!=a[y]
&&a[t]!=a[j]&&a[t]!=a[r]&&a[t]!=a[n]&&a[t]!=a&&a[t]!=a[v]&&a[t]!=a[x]&&a[t]!=a[y]
&&a[j]!=a[r]&&a[j]!=a[n]&&a[j]!=a&&a[j]!=a[v]&&a[j]!=a[x]&&a[j]!=a[y]
&&a[r]!=a[n]&&a[r]!=a&&a[r]!=a[v]&&a[r]!=a[x]&&a[r]!=a[y]
&&a[n]!=a&&a[n]!=a[v]&&a[n]!=a[x]&&a[n]!=a[y]
&&a!=a[v]&&a!=a[x]&&a!=a[y]
&&a[v]!=a[x]&&a[v]!=a[y]
&&a[x]!=a[y])
/*من هنا الشرط المصفوفه او الصندوق السحري*/
&& (a[y]+a[x]+a[v]==15) && (a+a[n]+a[r]==15) && (a[j]+a[t]+a==15) && (a[y]+a+a[j]==15)
&&(a[x]+a[n]+a[t]==15) && (a[v]+a[r]+a==15))
{
cout<<'|'<<a[y]<<a[x]<<a[v]<<'|'<<endl;
cout<<'|'<<a<<a[n]<<a[r]<<'|'<<endl;
cout<<'|'<<a[j]<<a[t]<<a<<'|'<<endl;
cout<<endl<<endl;
}
}
return 0;
}


