langs a-z
This commit is contained in:
parent
db842d013d
commit
d066446780
11389 changed files with 98361 additions and 1020 deletions
34
Task/Equilibrium-index/Pascal/equilibrium-index.pascal
Normal file
34
Task/Equilibrium-index/Pascal/equilibrium-index.pascal
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
Program EquilibriumIndexDemo(output);
|
||||
|
||||
function ArraySum(list: array of integer; first, last: integer): integer;
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
ArraySum := 0;
|
||||
for i := first to last do // not taken if first > last
|
||||
ArraySum := ArraySum + list[i];
|
||||
end;
|
||||
|
||||
procedure EquilibriumIndex(list: array of integer; offset: integer);
|
||||
var
|
||||
i: integer;
|
||||
begin
|
||||
for i := low(list) to high(list) do
|
||||
if ArraySum(list, low(list), i-1) = ArraySum(list, i+1, high(list)) then
|
||||
write(offset + i:3);
|
||||
end;
|
||||
|
||||
var
|
||||
{** The base index of the array is fully taken care off and can be any number. **}
|
||||
numbers: array [1..7] of integer = (-7, 1, 5, 2, -4, 3, 0);
|
||||
i: integer;
|
||||
|
||||
begin
|
||||
write('List of numbers: ');
|
||||
for i := low(numbers) to high(numbers) do
|
||||
write(numbers[i]:3);
|
||||
writeln;
|
||||
write('Equilibirum indices: ');
|
||||
EquilibriumIndex(numbers, low(numbers));
|
||||
writeln;
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue