نمایش نتایج 1 تا 6 از 6

نام تاپیک: matrix

  1. #1

    matrix

    لطفاً نظرتان را در مورد چگونگی حل سؤال زیر بیان کنید:
    " برنامه ای بنویسید که عدد صحیح و مثبت n را بخواند( n عددی است بین 3و31 ) آنگاه اعداد از یک تا n^2 را در ماتریس n×n طوری قرار دهد که جمع عناصر کلیه ی سطرها و ستونها و دو قطر با یکدیگر برابر باشند."

  2. #2
    با سلام
    می تونین راه حل این مسپله را در کتاب ساختمان داده ها در ++C نوشته عین الله جعفر نژاد قمی مشاهده کنین(در تمرین های آخر فصل 1 یا 2)
    یا می تونین در Google سرچی به نام Magic Squere جستجو کنید یعنی مربع جادویی یا مر بع وفقی.
    اگه مر جع ریاضی می خواهین کتاب : اعداد طبیعی نوشته قلزم از انتشارات فاطمی .




    اگه پیدا نکردین خبرم کنین

    امیر

  3. #3
    من دو روش برای این کار بلدم البته اگر درست یادم مونده باشه نکته مهم اینه که اگر اشتباه نکنم تعداد سطر ها باید فرد باشه.
    1- عدد 1 رو در سطر اول و ستون وسط قرار می دهیم
    2- برای اعداد بعدی یک ستون به راست و دو سطر به پایین می رویم
    3- اگر از سطر یا ستون خارچ شدیم از طرف دیگر جدول وارد می شویم
    4- در مضربهای n به خانه ای می رسیم که قبلا پر شده است. در این حالت فقط یک سطر پایین می رویم یعنی مثلا اگر n برابر 5 باشد 5 در سطر 4 و ستون 2 و 6 در سطر 5 ستون 2 است.

    روش دوم مانند همین است با این تفاوت که حرکت اسبی ( یک ستون و دو سطر ) نداریم بلکه یک ستون به راست و یک خانه به بالا داریم و در حالت تکرار فقط یک خانه به بالا می رویم.

    لطفا حالت تکرار را دقت کنید . ممکنه من اشتباه کنم و درست یادم نمونده باشه. مطمئنم که با چند مثال و Try & Error می تونی به جواب برسی

  4. #4
    با تشکر؛
    ابتدا عدد 1 را در سطر اول وستون وسط قرار می دهیم سپس یک سطر به راست و یک سنون به بالا رفته و عدد بعدی را می گذاریم وبه همین ترتیب ادامه می دهیم.
    هرگاه به یک خانه ی پر رسیدیم یک سطر به پایین آمده و عدد بعدی را می گذاریم و دوباره به ترتیب بالا عمل می کنیم.

  5. #5
    امیر جان سلام
    من برای پرو‍ژه دانشگاهیم نیاز به سورس این برنامه دارم اگه امکانش هست در این رابطه راهنماییم کنید متشکرم

  6. #6
    کاربر جدید
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    6
    سلام
    دیدم همگی به این برنامه نیاز دارید منم اونو در اختیارتون میزارم
    البته با پاسکاله

    uses
    crt;
    var
    a:array[1..10,1..10]of byte;
    row,col,i,j,n,x,y:integer;
    begin
    clrscr;
    write('Enter number(odd): ');
    readln(n);
    writeln;
    row:=1;
    col:=n div 2+1;
    for i:=1 to n do
    for j:=1 to n do
    a[i,j]:=0;
    a[row,col]:=1;
    for i:=2 to n*n do
    begin
    row:=row-1;
    col:=col-1;
    if(row=0) then
    row:=n;
    if(col=0) then
    col:=n;
    if(a[row,col]=0) then
    a[row,col]:=i
    else
    begin
    if (row>=n) and (col>=n) then
    begin
    row:=row-n;
    col:=col-n;
    end;
    row:=row+2;
    col:=col+1;
    a[row,col]:=i;
    end;
    end;
    for x:=1 to n do
    begin
    for y:=1 to n do
    begin
    if (a[x,y]>=1) and (a[x,y]<=9) then
    write(' ');
    write(' ',a[x,y]);
    end;
    writeln;
    end;
    readln;
    end.

تاپیک های مشابه

  1. Web Matrix
    نوشته شده توسط masoodp666 در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: شنبه 11 شهریور 1385, 11:04 صبح
  2. منظور از matrix در OpenGL
    نوشته شده توسط BitMap در بخش طراحی و ساخت بازی‌های کامپیوتری
    پاسخ: 0
    آخرین پست: سه شنبه 09 خرداد 1385, 12:16 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •