В двумерном массиве случайных чисел [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). Найти такую точку из данного множества, сумма расстояний от которой до остальных его точек минимальна, и саму эту сумму.