Сумма элементов побочной диагонали

Задача: 

В двумерном массиве случайных чисел [1..10,1..10] вычислить сумму элементов побочной диагонали.

(Побочная диагональ проходит из нижнего левого угла в верхний правый.)

Решить задачу двумя способами:
• Используя подпрограмму-функцию.
• Используя подпрограмму-процедуру.

Программа на языке Паскаль: 

С помощью функции

type
    type_arr = array[1..10, 1..10] of byte;
 
var
    arr: type_arr;
    i, j: byte;
    sum: byte;
 
function diagonal (arr1: type_arr): byte;
    var
        sum1: byte;
        i, j: byte;
    begin
        sum1 := 0;
        j:= 10;
        for i:=1 to 10 do begin
            sum1 := sum1 + arr1[i][j];
            j := j-1;
        end;
        diagonal := sum1;
    end;
 
begin
    randomize;
    for i:=1 to 10 do begin
        for j:=1 to 10 do begin
            arr[i,j] := random(10);
            write(arr[i,j], ' ');
        end;
        writeln;
    end;
 
    sum := diagonal(arr);
    writeln(sum);
 
readln;
end.

С помощью процедуры:

type
    type_arr = array[1..10, 1..10] of byte;
 
var
    arr: type_arr;
    i, j: byte;
    sum: byte;
 
procedure diagonal (var arr1: type_arr; var sum1: byte);
    var
        i, j: byte;
    begin
        sum1 := 0;
        j:= 10;
        for i:=1 to 10 do begin
            sum1 := sum1 + arr1[i][j];
            j := j-1;
        end;
    end;
 
begin
    randomize;
    for i:=1 to 10 do begin
        for j:=1 to 10 do begin
            arr[i,j] := random(10);
            write(arr[i,j], ' ');
        end;
        writeln;
    end;
 
    diagonal(arr, sum);
    writeln(sum);
 
readln;
end.

Комментарии

Дано множество A из N точек

Дано множество A из N точек (N > 2, точки заданы своими координатами x, y). Найти такую точку из данного множества, сумма расстояний от которой до остальных его точек минимальна, и саму эту сумму.