diff options
| author | deadmarshal <adeadmarshal@gmail.com> | 2022-12-28 10:47:13 +0330 |
|---|---|---|
| committer | deadmarshal <adeadmarshal@gmail.com> | 2022-12-28 10:47:13 +0330 |
| commit | 977802cd25bb919bbc0bad828d014a68fc7bab17 (patch) | |
| tree | f997db1a859bf124b7ab22248a0c4a4974d610a7 /challenge-197/deadmarshal/modula-3/ch2 | |
| parent | 9720dd7a3a5d6c22d6cc034c363d1d09e309e745 (diff) | |
| download | perlweeklychallenge-club-977802cd25bb919bbc0bad828d014a68fc7bab17.tar.gz perlweeklychallenge-club-977802cd25bb919bbc0bad828d014a68fc7bab17.tar.bz2 perlweeklychallenge-club-977802cd25bb919bbc0bad828d014a68fc7bab17.zip | |
TWC197
Diffstat (limited to 'challenge-197/deadmarshal/modula-3/ch2')
| -rw-r--r-- | challenge-197/deadmarshal/modula-3/ch2/src/Ch2.m3 | 37 | ||||
| -rw-r--r-- | challenge-197/deadmarshal/modula-3/ch2/src/m3makefile | 3 |
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-197/deadmarshal/modula-3/ch2/src/Ch2.m3 b/challenge-197/deadmarshal/modula-3/ch2/src/Ch2.m3 new file mode 100644 index 0000000000..3e6c775055 --- /dev/null +++ b/challenge-197/deadmarshal/modula-3/ch2/src/Ch2.m3 @@ -0,0 +1,37 @@ +MODULE Ch2 EXPORTS Main; + +IMPORT IO; + +VAR + A1:ARRAY[0..5] OF INTEGER := ARRAY OF INTEGER{1,5,1,1,6,4}; + A2:ARRAY[0..5] OF INTEGER := ARRAY OF INTEGER{1,3,2,2,3,1}; + +PROCEDURE Swap(VAR A,B:INTEGER) = + VAR Temp:INTEGER := A; + BEGIN + A := B; + B := Temp; + END Swap; + +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 WiggleSort(VAR Arr:ARRAY OF INTEGER) = + BEGIN + FOR I := FIRST(Arr) TO LAST(Arr)-1 DO + IF((I MOD 2 = 0) = (Arr[I] > Arr[I+1])) THEN Swap(Arr[I],Arr[I+1]); END; + END; + END WiggleSort; + +BEGIN + WiggleSort(A1); + WiggleSort(A2); + PrintArray(A1); + PrintArray(A2); +END Ch2. + diff --git a/challenge-197/deadmarshal/modula-3/ch2/src/m3makefile b/challenge-197/deadmarshal/modula-3/ch2/src/m3makefile new file mode 100644 index 0000000000..4bfbb7373d --- /dev/null +++ b/challenge-197/deadmarshal/modula-3/ch2/src/m3makefile @@ -0,0 +1,3 @@ +import("libm3") +implementation("Ch2") +program("ch2") |
