PDA

View Full Version : جدول مجیک



amir master
پنج شنبه 24 فروردین 1385, 15:05 عصر
با عرض سلام و ادب و احترام
خواستم ببینم کسی الگوریتم جدول مجیک یا همون جدول جادویی که حاصل جمع تمام سطرا و ستوناش یکی هست رو کسی بلده البته نه برای اعداد فرد بلکه برای اعداد زوج
ممنون

Mehrafrooz
پنج شنبه 24 فروردین 1385, 19:44 عصر
برای اعداد فرد ، خواستی من برنامش رو با #C نوشتم . برای اعداد زوج من نشنیدم که باشه .

mohandese_hiclass
پنج شنبه 24 فروردین 1385, 23:10 عصر
سلام دوست عزیز مطمئن هستی که واسه اعداد ذوج هم میشه مربع جادویی رو حل کرد چون من واسه 2 در 2 نتونستم حل کنم اگه واسه 2 در 2 راه حلی ارایه بدید میشه یه کاری کرد

Mehrafrooz
جمعه 25 فروردین 1385, 00:05 صبح
سلام دوست عزیز مطمئن هستی که واسه اعداد ذوج هم میشه مربع جادویی رو حل کرد چون من واسه 2 در 2 نتونستم حل کنم اگه واسه 2 در 2 راه حلی ارایه بدید میشه یه کاری کرد
من هم فکر می کنم برای اعداد زوج نداشته باشیم ، این اولین باریکه اینو می شنوم . اگر باشه روش رو بگید .

razavi_university
جمعه 25 فروردین 1385, 00:26 صبح
من خود برنامشو با پاسکال برای ترم اول دانشگاه نوشتم
تا اونجایی که یادمه برایه همه اعداد کار میداد

mohandese_hiclass
جمعه 25 فروردین 1385, 23:13 عصر
دوست عزیز برنامه شما هم واسه اعداد فرد کار کرد البته من فقط واسه 3 در 3 و 2در 2 تست کردم

razavi_university
شنبه 26 فروردین 1385, 00:35 صبح
اگه نتونستم کمکی بکنم متاسفم
شرمنده

Mehrafrooz
شنبه 26 فروردین 1385, 02:33 صبح
خود این آقای amir master (http://www.barnamenevis.org/forum/member.php?u=14460) کجاست ؟ که بیاد بگه برای زوج هم اصلا وجود داره یا نه ؟
کجایی ؟

seyedof
شنبه 26 فروردین 1385, 10:48 صبح
سلام
برای زوج هم وجود داره ولی روشش با فرد فرق میکنه و یه مقدار سختتره. ممکنه برای 2 در 2 نشه ولیکن از یک عددی به بالاتر حتما میشه. روشش رو توی مجله دانشمند اوون قدیما خونده بودم و به زبان بیسیک هم نوشته بودم البته این چیزی که میگم مال 15 سال پیشه.
ممنون علی

amir master
شنبه 26 فروردین 1385, 16:19 عصر
من اینجام
سلام
این کار رو توی نرم افزار MATLAB میشه با تابع
magic(number)
میشه انجام داد که او number هم عدد مورد نظر هست که من با اعداد زوج هم امتحان کردم وجواب گرفتم

amir master
شنبه 26 فروردین 1385, 16:20 عصر
البته اون پرانتزا دور number هستن
ممنونم

mohandese_hiclass
دوشنبه 28 فروردین 1385, 10:59 صبح
من اینجام
سلام
این کار رو توی نرم افزار MATLAB میشه با تابع
magic(number)
میشه انجام داد که او number هم عدد مورد نظر هست که من با اعداد زوج هم امتحان کردم وجواب گرفتم

دوست عزیز من با مطلب آشنا نیستم میشه واسه 4در 4 جوابشو بزارید تو سایت تا روش فکر کنیم

amir master
سه شنبه 29 فروردین 1385, 06:47 صبح
سلام
من یه فایل متنی رو اینجا میزارم که توی اون از جدول 3*3 تا 20*20 رو نوشتم

mohandese_hiclass
سه شنبه 29 فروردین 1385, 19:50 عصر
ممنون دوست عزیز

amir master
دوشنبه 04 اردیبهشت 1385, 11:56 صبح
آقا کسی جواب این سوال رو بلد نبود
اگه کسی بلده لطفا جواب بده
ممنونم

SReza1
سه شنبه 05 اردیبهشت 1385, 20:50 عصر
من به کمک روش ژنتیک تا 40*40 رو حل کردم! البته میتوان روی سایزهای بزرگتر هم انجام داد. البته برای 3*3 و 4*4 در local optimize گیر میکنه! ولی برای بلقی حالتها جواب میده!

amir master
پنج شنبه 07 اردیبهشت 1385, 12:34 عصر
آقا ما گفتیم که ما رو راهنمایی بکنید نه اینکه بگید من این برنامه رو نوشتم
ممنون میشم اگه راهنمایی کنید

sajedi
چهارشنبه 20 اردیبهشت 1385, 18:43 عصر
baraye adade zoj ham mishe

sajedi
چهارشنبه 20 اردیبهشت 1385, 18:45 عصر
man test kardam

amir master
سه شنبه 26 اردیبهشت 1385, 14:56 عصر
چی برای عدد زوج میشه؟ که شما تست کردید؟

sajedi
پنج شنبه 28 اردیبهشت 1385, 10:25 صبح
barname jadvale majic

amir master
پنج شنبه 28 اردیبهشت 1385, 15:24 عصر
کدوم برنامه ؟
مگه شما برنامشو دارید ؟
اگه دارید لطف کنید و الگوریتمشو بگید

بهمن 66
جمعه 04 خرداد 1386, 00:36 صبح
با عرض سلام فکر میکنم یک سالی از طرح این پروژه گذشته با این حال من الان این پروژه رو با c#.netمیخواستم با تشکر قبلی

Mehrafrooz
جمعه 04 خرداد 1386, 02:27 صبح
با عرض سلام فکر میکنم یک سالی از طرح این پروژه گذشته با این حال من الان این پروژه رو با c#.netمیخواستم با تشکر قبلی
این هم با سی شارپ (البته برای اعداد فرد ):

static void Main(string[] args)
{
string m;
int min,max,i,j,n;
int count=1;
do
{
Console.WriteLine("Enter an Odd Number : ");
m=Console.ReadLine();
n= Convert.ToInt32(m);

}while((n%2==0)) ;

max=n*n;
int [,] sq = new int[n,n];

for (i=0;i<n;i++)
for (j=0;j<n;j++)
sq[i,j]=0;

i=0;
j=n/2;

sq[i,j]=count;

for (min=0;min<max-1;min++)
{
i=i-1;
j=j-1;
if (i<0)
{
i=n-1;
}
if (j<0)
{
j=n-1;
}
count++;

if (sq[i,j]==0)
{
sq[i,j]=count;
}
else
{
if ((i==n-1)&&(j==n-1))
{
i=-1;
j=-1;
}
i+=2;
j+=1;
sq[i,j]=count;
}
}
for (i=0;i<n;i++)
{
Console.WriteLine();
for (j=0;j<n;j++)
Console.Write("{0} ",sq[i,j]);
}
Console.ReadLine();
}

بهمن 66
جمعه 04 خرداد 1386, 13:17 عصر
با تشکر از شما اگر لطف کنید برای اعداد زوج رو هم بگذارید لطف بزرگی در حقم کردید

Mehrafrooz
جمعه 04 خرداد 1386, 13:29 عصر
با تشکر از شما اگر لطف کنید برای اعداد زوج رو هم بگذارید لطف بزرگی در حقم کردید
برای اعداد زوج بلد نیستم. در اصل روش یا الگوریتمی ندیدم . در تاپییکهای قبلی هم به این موضوع اشاره شده ولی کسی روشش رو نگفته .

بهمن 66
جمعه 04 خرداد 1386, 14:10 عصر
برنامه 8 وزیر رو میتونید بهم کمک کنید . هم الگوریتمش رو میخواستم هم با c#.net.

Mehrafrooz
جمعه 04 خرداد 1386, 22:19 عصر
برنامه 8 وزیر رو میتونید بهم کمک کنید . هم الگوریتمش رو میخواستم هم با c#.net.
تو همین سایت قبلا راجع بهش بحث شده . جستجو کنی پیدا می کنی .