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

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

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

Вот, собственно, код. Нужно переделать его на C#.
Листинг программы
  1. var xx,yy:array[1..100] of real;
  2. a1,b1,c1,st,s_mn:real;
  3. i,n:integer;
  4. procedure line(x0,y0,x,y:real;var l:real);
  5. begin
  6. l:=sqrt(sqr(x-x0)+sqr(y-y0));
  7. end;
  8. procedure pl(a,b,c:real; var s:real);
  9. var p:real;
  10. begin
  11. p:=(a+b+c)/2;
  12. s:=sqrt(p*(p-a)*(p-b)*(p-c));
  13. end;
  14. begin
  15. readln(n);
  16. for i:=1 to n do readln(xx[i],yy[i]);
  17. s_mn:=0;
  18. for i:=1 to n-2 do begin
  19. line(xx[1],yy[1],xx[i+1],yy[i+1],a1);
  20. line(xx[i+1],yy[i+1],xx[i+2],yy[i+2],b1);
  21. line(xx[i+2],yy[i+2],xx[1],yy[1],c1);
  22. pl(a1,b1,c1,st);
  23. s_mn:=s_mn+st;
  24. end;
  25. writeln(s_mn);
  26. end.
  27. end.

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

textual
Листинг программы
  1. using System;
  2.  
  3. class Program
  4. {
  5.     public static void Line(double x0, double y0, double x, double y, ref double l)
  6.     {
  7.         l = Math.Sqrt((x - x0) * (x - x0) + (y - y0) * (y - y0));
  8.     }
  9.  
  10.     public static void Pl(double a, double b, double c, ref double s)
  11.     {
  12.         double p = (a + b + c) * 0.5;
  13.         s = Math.Sqrt(p * (p - a) * (p - b) * (p - c));
  14.     }
  15.  
  16.     static void Main(string[] args)
  17.     {
  18.         int n = Convert.ToInt32(Console.ReadLine());
  19.         var xx = new int[101];
  20.         var yy = new int[101];
  21.  
  22.         for (int i = 1; i <= n; i++)
  23.         {
  24.             var aData = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
  25.             xx[i] = Convert.ToInt32(aData[0]);
  26.             yy[i] = Convert.ToInt32(aData[1]);
  27.         }
  28.  
  29.         double a1 = 0, b1 = 0, c1 = 0, st = 0, s_mn = 0;
  30.         for (int i = 1; i <= n - 2; i++)
  31.         {
  32.             Line(xx[1], yy[1], xx[i + 1], yy[i + 1], ref a1);
  33.             Line(xx[i + 1], yy[i + 1], xx[i + 2], yy[i + 2], ref b1);
  34.             Line(xx[i + 2], yy[i + 2], xx[1], yy[1], ref c1);
  35.             Pl(a1, b1, c1, ref st);
  36.             s_mn += st;
  37.         }
  38.  
  39.         Console.WriteLine(s_mn);
  40.     }
  41. }

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


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

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

8   голосов , оценка 3.875 из 5

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

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

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