Перевод из Pascal в C#

var
  n, m, i, j, k, l, min, d, max: integer;
  x, y: array [1..10] of integer;
begin
  assign(input,'input.txt'); reset(input);
  assign(output,'output.txt'); rewrite(output);
  read(n,m); read(k);
  for l:=1 to k do read(x[l],y[l]);
  max:=0;
  for i:=1 to n do for j:=1 to m do begin
    min:=n+m;
    for l:=1 to k do begin
      d:= abs(i-x[l])+abs(j-y[l]);
      if d<min then min:=d
    end;
    if min>max then max:=min
  end;
  write(max);
  close(output)
end.

Ответы (2 шт):

Автор решения: aepot

У языков важные отличия.

  • Вы не сможете нативно читать с консоли через пробел, как это может паскаль. Поэтому после ввода каждой группы чисел нужно нажимать Enter.
  • Нумерация массивов начинается с 0, а не с 1.
Console.Write("Введите n m k: ");
string[] s = Console.ReadLine().Split(' ');
int n = Convert.ToInt32(s[0]);
int m = Convert.ToInt32(s[1]);
int k = Convert.ToInt32(s[2]);
int[]
    x = new int[k],
    y = new int[k];
for (int i = 0; i < k; i++)
{
    Console.Write("Введите x[{0}] y[{0}]: ", i);
    s = Console.ReadLine().Split(' ');
    x[i] = Convert.ToInt32(s[0]);
    y[i] = Convert.ToInt32(s[1]);
}
int max = 0;
for (int i = 0; i < n; i++)
    for (int j = 0; j < m; j++)
    {
        int min = n + m;
        for (int l = 0; l < k; l++)
        {
            int d = Math.Abs(i - x[l]) + Math.Abs(j - y[l]);
            if (d < min) min = d;
        }
        if (min > max) max = min;
    }
Console.WriteLine("Результат max: {0}", max);
Console.ReadKey();
→ Ссылка
Автор решения: user545575

var a:integer; begin writeln ('Сколько вам лет?'); read (a); if (a>=18) then writeln ('Замечательно. Вы уже можете водить автомобиль') else writeln ('К сожалению, водить автомобиль Вам рановато'); end.

→ Ссылка