aboutsummaryrefslogtreecommitdiff
path: root/challenge-283/deadmarshal/modula-3/ch1/src
diff options
context:
space:
mode:
authordeadmarshal <adeadmarshal@gmail.com>2024-08-19 13:53:19 +0330
committerdeadmarshal <adeadmarshal@gmail.com>2024-08-19 13:53:19 +0330
commit2d8b7574604fe1f8cb5e03d0b2a6d0bce1d3b76e (patch)
treeb01ee6e33e1ce076989a38b05e2e9a74f865fdbe /challenge-283/deadmarshal/modula-3/ch1/src
parent77ecff551b5e341658ad156635933ddf47f5ef8e (diff)
downloadperlweeklychallenge-club-2d8b7574604fe1f8cb5e03d0b2a6d0bce1d3b76e.tar.gz
perlweeklychallenge-club-2d8b7574604fe1f8cb5e03d0b2a6d0bce1d3b76e.tar.bz2
perlweeklychallenge-club-2d8b7574604fe1f8cb5e03d0b2a6d0bce1d3b76e.zip
TWC283
Diffstat (limited to 'challenge-283/deadmarshal/modula-3/ch1/src')
-rw-r--r--challenge-283/deadmarshal/modula-3/ch1/src/Ch1.m327
-rw-r--r--challenge-283/deadmarshal/modula-3/ch1/src/m3makefile5
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-283/deadmarshal/modula-3/ch1/src/Ch1.m3 b/challenge-283/deadmarshal/modula-3/ch1/src/Ch1.m3
new file mode 100644
index 0000000000..1cd164af39
--- /dev/null
+++ b/challenge-283/deadmarshal/modula-3/ch1/src/Ch1.m3
@@ -0,0 +1,27 @@
+MODULE Ch1 EXPORTS Main;
+
+IMPORT SIO;
+
+VAR
+ A1 := ARRAY[0..2] OF CARDINAL{3,3,1};
+ A2 := ARRAY[0..4] OF CARDINAL{3,2,4,2,4};
+ A3 := ARRAY[0..0] OF CARDINAL{1};
+ A4 := ARRAY[0..5] OF CARDINAL{4,3,1,1,1,4};
+
+PROCEDURE UniqueNumber(VAR A:ARRAY OF CARDINAL):CARDINAL =
+ VAR
+ Hash:ARRAY[0..9] OF CARDINAL := ARRAY[0..9] OF CARDINAL{0,..};
+ BEGIN
+ FOR I := FIRST(A) TO LAST(A) DO INC(Hash[A[I] MOD 10]) END;
+ FOR I := FIRST(Hash) TO LAST(Hash) DO
+ IF Hash[I] = 1 THEN RETURN I END
+ END;
+ END UniqueNumber;
+
+BEGIN
+ SIO.PutInt(UniqueNumber(A1)); SIO.Nl();
+ SIO.PutInt(UniqueNumber(A2)); SIO.Nl();
+ SIO.PutInt(UniqueNumber(A3)); SIO.Nl();
+ SIO.PutInt(UniqueNumber(A4)); SIO.Nl()
+END Ch1.
+
diff --git a/challenge-283/deadmarshal/modula-3/ch1/src/m3makefile b/challenge-283/deadmarshal/modula-3/ch1/src/m3makefile
new file mode 100644
index 0000000000..9f66e4a51f
--- /dev/null
+++ b/challenge-283/deadmarshal/modula-3/ch1/src/m3makefile
@@ -0,0 +1,5 @@
+import("libm3")
+import("libsio")
+implementation("Ch1")
+program("ch1")
+