Advertisement
mmayoub

MagicSquare, 09.10.2021

Oct 10th, 2021
1,158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.41 KB | None | 0 0
  1. using System;
  2.  
  3. namespace ConsoleApp6
  4. {
  5.     /*
  6.     1 . استقبل عددا صحيحا (x)
  7.     2. افحص صحة المدخلات عن طريق مصفاة معطيات.
  8.     3. عرف مصفوفة رباعية بالحجم المدخل (حسب معطيات الادخال) (arr)
  9.     4. ادخل الاعداد من 1 حتى تربيع x للمصفوف
  10.     5. ابن مربع سحري واطبعه
  11.     */
  12.  
  13.     class Program
  14.     {
  15.         static void Main(string[] args)
  16.         {
  17.             int x;
  18.  
  19.             Console.Write("Enter positive odd nember: ");
  20.             x = int.Parse(Console.ReadLine());
  21.  
  22.             // while (x<=0 || x%2!=1)
  23.             while (!(x > 0 && x % 2 == 1))
  24.             {
  25.                 Console.WriteLine("Data Error!");
  26.  
  27.                 Console.Write("Enter positive odd nember: ");
  28.                 x = int.Parse(Console.ReadLine());
  29.             }
  30.  
  31.             int[,] arr;
  32.             arr = new int[x, x];
  33.             int n = 1;
  34.             int i;
  35.             int j;
  36.             for (i = 0; i < x; i++)
  37.             {
  38.                 for (j = 0; j < x; j++)
  39.                 {
  40.                     //arr[i, j] = x * i + j + 1;
  41.                     arr[i, j] = n;
  42.                     Console.Write("{0,5}", n);
  43.                     n++;
  44.                 }
  45.                 Console.WriteLine();
  46.             }
  47.  
  48.             // first number
  49.             i = 0;
  50.             j = x / 2;
  51.             arr[i, j] = 1;
  52.  
  53.             n = 2;
  54.             while (n <= x * x)
  55.             {
  56.                 i += 2;
  57.                 if (i > x - 1)
  58.                 {
  59.                     i -= x;
  60.                 }
  61.                 j++;
  62.                 if (j > x - 1)
  63.                 {
  64.                     j -= x;
  65.                 }
  66.                 arr[i, j] = n;
  67.                 if (n % x == 0 && n != x * x)
  68.                 {
  69.                     i++;
  70.                     if (i > x - 1)
  71.                     {
  72.                         i -= x;
  73.                     }
  74.                     n++;
  75.                     arr[i, j] = n;
  76.                 }
  77.                 n++;
  78.             }
  79.  
  80.             Console.WriteLine(); Console.WriteLine();
  81.             for (i = 0; i < x; i++)
  82.             {
  83.                 for (j = 0; j < x; j++)
  84.                 {
  85.                     Console.Write("{0,5}", arr[i, j]);
  86.                 }
  87.                 Console.WriteLine();
  88.             }
  89.         }
  90.     }
  91. }
  92.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement