aboutsummaryrefslogtreecommitdiff
path: root/challenge-197/deadmarshal/modula-3/ch1/src
diff options
context:
space:
mode:
authordeadmarshal <adeadmarshal@gmail.com>2022-12-28 10:47:13 +0330
committerdeadmarshal <adeadmarshal@gmail.com>2022-12-28 10:47:13 +0330
commit977802cd25bb919bbc0bad828d014a68fc7bab17 (patch)
treef997db1a859bf124b7ab22248a0c4a4974d610a7 /challenge-197/deadmarshal/modula-3/ch1/src
parent9720dd7a3a5d6c22d6cc034c363d1d09e309e745 (diff)
downloadperlweeklychallenge-club-977802cd25bb919bbc0bad828d014a68fc7bab17.tar.gz
perlweeklychallenge-club-977802cd25bb919bbc0bad828d014a68fc7bab17.tar.bz2
perlweeklychallenge-club-977802cd25bb919bbc0bad828d014a68fc7bab17.zip
TWC197
Diffstat (limited to 'challenge-197/deadmarshal/modula-3/ch1/src')
-rw-r--r--challenge-197/deadmarshal/modula-3/ch1/src/Ch1.m335
-rw-r--r--challenge-197/deadmarshal/modula-3/ch1/src/m3makefile3
2 files changed, 38 insertions, 0 deletions
diff --git a/challenge-197/deadmarshal/modula-3/ch1/src/Ch1.m3 b/challenge-197/deadmarshal/modula-3/ch1/src/Ch1.m3
new file mode 100644
index 0000000000..742f0d18b9
--- /dev/null
+++ b/challenge-197/deadmarshal/modula-3/ch1/src/Ch1.m3
@@ -0,0 +1,35 @@
+MODULE Ch1 EXPORTS Main;
+
+IMPORT IO;
+
+VAR
+ A1:ARRAY[0..5] OF INTEGER := ARRAY OF INTEGER{1,0,3,0,0,5};
+ A2:ARRAY[0..2] OF INTEGER := ARRAY OF INTEGER{1,6,4};
+ A3:ARRAY[0..4] OF INTEGER := ARRAY OF INTEGER{0,1,0,2,0};
+
+PROCEDURE PrintArray(VAR Arr:ARRAY OF INTEGER) =
+ BEGIN
+ FOR I := FIRST(Arr) TO LAST(Arr) DO
+ IO.PutInt(Arr[I]); IO.PutChar(' ');
+ END;
+ IO.Put("\n");
+ END PrintArray;
+
+PROCEDURE MoveZeros(VAR Arr:ARRAY OF INTEGER) =
+ VAR Count:INTEGER := 0;
+ BEGIN
+ FOR I := FIRST(Arr) TO LAST(Arr) DO
+ IF Arr[I] # 0 THEN Arr[Count] := Arr[I]; INC(Count) END;
+ END;
+ WHILE Count < NUMBER(Arr) DO Arr[Count] := 0; INC(Count) END;
+ END MoveZeros;
+
+BEGIN
+ MoveZeros(A1);
+ MoveZeros(A2);
+ MoveZeros(A3);
+ PrintArray(A1);
+ PrintArray(A2);
+ PrintArray(A3);
+END Ch1.
+
diff --git a/challenge-197/deadmarshal/modula-3/ch1/src/m3makefile b/challenge-197/deadmarshal/modula-3/ch1/src/m3makefile
new file mode 100644
index 0000000000..8a6bc1e4f8
--- /dev/null
+++ b/challenge-197/deadmarshal/modula-3/ch1/src/m3makefile
@@ -0,0 +1,3 @@
+import("libm3")
+implementation("Ch1")
+program("ch1")