aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordeadmarshal <adeadmarshal@gmail.com>2024-09-02 15:17:56 +0330
committerdeadmarshal <adeadmarshal@gmail.com>2024-09-02 15:17:56 +0330
commit34e50de41749881c7cf0ee5e7c7020e2cbc855d1 (patch)
tree4ef6ed5a2965021703db3844fe008bc9f6be5080
parent41603db88c020b22064ec84a4dec4a6f326201be (diff)
downloadperlweeklychallenge-club-34e50de41749881c7cf0ee5e7c7020e2cbc855d1.tar.gz
perlweeklychallenge-club-34e50de41749881c7cf0ee5e7c7020e2cbc855d1.tar.bz2
perlweeklychallenge-club-34e50de41749881c7cf0ee5e7c7020e2cbc855d1.zip
Fixed Ch1.m3 file
-rw-r--r--challenge-285/deadmarshal/modula-3/ch1/src/Ch1.m325
1 files changed, 22 insertions, 3 deletions
diff --git a/challenge-285/deadmarshal/modula-3/ch1/src/Ch1.m3 b/challenge-285/deadmarshal/modula-3/ch1/src/Ch1.m3
index 8f6f2ea985..0cf0ee508a 100644
--- a/challenge-285/deadmarshal/modula-3/ch1/src/Ch1.m3
+++ b/challenge-285/deadmarshal/modula-3/ch1/src/Ch1.m3
@@ -1,6 +1,6 @@
MODULE Ch1 EXPORTS Main;
-IMPORT SIO;
+IMPORT SIO,TextIntTbl;
VAR
A1 := ARRAY[0..2],[0..1] OF TEXT{
@@ -9,8 +9,27 @@ VAR
ARRAY[0..1] OF TEXT{"C","A"}};
A2 := ARRAY[0..0],[0..1] OF TEXT{
ARRAY OF TEXT{"A","Z"}};
-
+
+PROCEDURE NoConnection(VAR A:ARRAY OF ARRAY OF TEXT):TEXT =
+ VAR
+ Destinations,Sources := NEW(TextIntTbl.Default).init(NUMBER(A));
+ It:TextIntTbl.Iterator;
+ K:TEXT := "";
+ V:INTEGER;
+ BEGIN
+ FOR I := FIRST(A) TO LAST(A) DO
+ EVAL Sources.put(A[I,0],1);
+ EVAL Destinations.put(A[I,1],1);
+ END;
+ It := Destinations.iterate();
+ WHILE It.next(K,V) DO
+ IF Destinations.get(K,V) THEN RETURN K END
+ END;
+ RETURN ""
+ END NoConnection;
+
BEGIN
-
+ SIO.PutText(NoConnection(A1) & "\n");
+ SIO.PutText(NoConnection(A2) & "\n")
END Ch1.