summaryrefslogtreecommitdiff
path: root/tigrou/use-an-array
diff options
context:
space:
mode:
authorMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
committerMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
commit967be9e750221ab2ab783f95df79bb26d290a45e (patch)
tree6802900a5e975f9f68b169f0f503f040056d6952 /tigrou/use-an-array
add: added projectsHEADmain
Diffstat (limited to 'tigrou/use-an-array')
-rw-r--r--tigrou/use-an-array/use-an-array.tig44
-rw-r--r--tigrou/use-an-array/use-an-array.tih12
2 files changed, 56 insertions, 0 deletions
diff --git a/tigrou/use-an-array/use-an-array.tig b/tigrou/use-an-array/use-an-array.tig
new file mode 100644
index 0000000..20b4670
--- /dev/null
+++ b/tigrou/use-an-array/use-an-array.tig
@@ -0,0 +1,44 @@
+let
+ import "use-an-array.tih"
+ var array_1 := int_array[5] of 0
+ var array_2 := int_array[4] of 0
+ var array_3 := int_array[4] of 0
+
+in
+ array_1[0] := 14;
+ array_1[1] := 16;
+ array_1[2] := 18;
+ array_1[3] := 12;
+ array_1[4] := 18;
+
+ array_2[0] := 21;
+ array_2[1] := 22;
+ array_2[2] := 23;
+ array_2[3] := 24;
+
+ array_3[0] := 39;
+ array_3[1] := 38;
+ array_3[2] := 37;
+ array_3[3] := 36;
+
+ let
+ function test_max_search(arr: int_array, size: int, expected: int) =
+ (
+ print("Looking for maximum's index in array\n[ ");
+ for i := 0 to size - 1 do
+ (
+ print_int(arr[i]);
+ print(" ")
+ );
+ print("]\nExpected : ");
+ print_int(expected);
+ print("\ngot : ");
+ print_int(max_search(arr, size));
+ print("\n\n")
+ )
+ in
+ test_max_search(array_1, 5, 2);
+ test_max_search(array_2, 4, 3);
+ test_max_search(array_3, 4, 0)
+ end
+end
diff --git a/tigrou/use-an-array/use-an-array.tih b/tigrou/use-an-array/use-an-array.tih
new file mode 100644
index 0000000..55a7d5a
--- /dev/null
+++ b/tigrou/use-an-array/use-an-array.tih
@@ -0,0 +1,12 @@
+type int_array = array of int
+function max_search(a : int_array, size : int) : int =
+ if size <= 0 then -1
+ else
+ let
+ var maxi := 0
+ in
+ (for i := 1 to size - 1 do
+ if a[maxi] < a[i] then
+ maxi := i);
+ maxi
+ end