Переписать код с Pascal на C# - C# (201585)

Узнай цену своей работы

Формулировка задачи:

Навеяло отсюда Переписать код с Pascal на C# А можно мне тоже, пожалуйста?
Листинг программы
  1. program pjan;
  2. USES crt;
  3. VAR
  4. i,j,s,pi,pj:integer;
  5. a:array[1..30,1..30] of string;
  6. BEGIN
  7. randomize;
  8. pi:=30;
  9. pj:=random(30)+1;
  10. for i:=1 to 10 do begin
  11. a[random(30)+1,random(30)+1]:='#';
  12. end;
  13. a[pi,pj]:='i';
  14. while pi>1 do begin
  15. for i:= 1 to 30 do begin
  16. for j:= 1 to 30 do begin
  17. write(a[i,j]:1);
  18. end;
  19. writeln;
  20. end;
  21. delay(1000);
  22. clrscr;
  23. s:=random(4);
  24. case s of
  25. 0: if a[pi-1,pj-1]='#' then begin
  26. a[pi,pj]:='j';
  27. delay(2000);
  28. a[pi,pj]:='i';
  29. end
  30. else if (pj<=30) and (pj>1) then begin
  31. a[pi,pj]:='';
  32. pi:=pi-1;
  33. pj:=pj-1;
  34. a[pi,pj]:='i';
  35. end;
  36. 1:if a[pi-1,pj]='#' then begin
  37. a[pi,pj]:='j';
  38. delay(2000);
  39. a[pi,pj]:='i';
  40. end
  41. else begin
  42. a[pi,pj]:='';
  43. pi:=pi-1;
  44. a[pi,pj]:='i';
  45. end;
  46. 2:if a[pi-1,pj+1]='#' then begin
  47. a[pi,pj]:='j';
  48. delay(2000);
  49. a[pi,pj]:='i';
  50. end
  51. else if (pj<30) and (pj>=1) then begin
  52. a[pi,pj]:='';
  53. pi:=pi-1;
  54. pj:=pj+1;
  55. a[pi,pj]:='i';
  56. end;
  57. 3:if a[pi+1,pj]='#' then begin
  58. a[pi,pj]:='j';
  59. delay(2000);
  60. a[pi,pj]:='i';
  61. end
  62. else if pi<30 then begin
  63. a[pi,pj]:='';
  64. pi:=pi+1;
  65. a[pi,pj]:='i';
  66. end;
  67. end;
  68. end;
  69. ReadLn;
  70. END.

Решение задачи: «Переписать код с Pascal на C#»

textual
Листинг программы
  1. using System;
  2. using System.Threading;
  3.  
  4. namespace Programs
  5. {
  6.     class Program
  7.     {
  8.         private static Random _random = new Random();
  9.        
  10.         static void Main(string[] args)
  11.         {
  12.             int s, pi, pj;
  13.             string[,] a = new string[30, 30];
  14.             pi = 30;
  15.             pj = _random.Next(30) + 1;
  16.             for (int i = 0; i < 11; i++)
  17.             {
  18.                 a[_random.Next(31)+1, _random.Next(31)+1] = "#";
  19.             }
  20.             a[pi, pj] = "i";
  21.             while (pi > 1)
  22.             {
  23.                 for (int i = 0; i < 31; i++)
  24.                     for (int j = 0; j < 31; j++)
  25.                     {
  26.                         Console.Write("{0}", a[i, j]);
  27.                     }
  28.                 Console.WriteLine();
  29.             }
  30.  
  31.             Thread.Sleep(1000);
  32.             Console.Clear();
  33.             s = _random.Next(4);
  34.  
  35.             switch (s)
  36.             {
  37.                 case 0:
  38.                     if (a[pi-1, pj-1] == "#")
  39.                     {
  40.                     a[pi, pj]="j";
  41.                     Thread.Sleep(2000);
  42.                     a[pi, pj] = "i";
  43.                     }
  44.                     else
  45.                         if ((pj <= 30) && (pj > 1))
  46.                         {
  47.                             a[pi, pj] = " ";
  48.                             pi--;  
  49.                             pj--;
  50.                             a[pi, pj] = "i";
  51.                         }
  52.                     break;
  53.                 case 1:
  54.                     if (a[pi - 1, pj] == "#")
  55.                     {
  56.                         a[pi, pj] = "j";
  57.                         Thread.Sleep(2000);
  58.                         a[pi, pj] = "i";
  59.                     }
  60.                     else
  61.                     {
  62.                         a[pi, pj] = "";
  63.                         pi--;
  64.                         pj--;
  65.                         a[pi, pj] = "i";
  66.                     }
  67.                     break;
  68.                 case 2:
  69.                     if (a[pi - 1, pj + 1] == "#")
  70.                     {
  71.                         a[pi, pj] = "j";
  72.                         Thread.Sleep(2000);
  73.                         a[pi, pj] = "i";
  74.                     }
  75.                     else
  76.                     {
  77.                         if ((pj<30) && (pj>=1))
  78.                         {
  79.                             a[pi,pj]="";
  80.                             pi--;
  81.                             pj--;
  82.                             a[pi,pj]="i";
  83.                         }
  84.  
  85.                     }
  86.                     break;
  87.                 case 3:
  88.                     if (a[pi+1,pj]=="#")
  89.                     {
  90.                         a[pi,pj]="j";
  91.                         Thread.Sleep(2000);
  92.                         a[pi,pj]="i";
  93.                     }
  94.                     else if (pi<30)
  95.                     {
  96.                         a[pi, pj] = "";
  97.                         pi++;
  98.                         a[pi, pj] = "i";
  99.                     }
  100.                     break;
  101.             }
  102.                 Console.ReadKey(true);
  103.         }
  104.     }
  105. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут