Compare a list of strings: Difference between revisions
Content added Content deleted
(Added Mathcad example.) |
(Added solution for Action!) |
||
Line 128: | Line 128: | ||
AAA : all elements are equal |
AAA : all elements are equal |
||
ACB : neither equal nor in increasing order |
ACB : neither equal nor in increasing order |
||
</pre> |
|||
=={{header|Action!}}== |
|||
<lang Action!>BYTE FUNC AreEqual(CARD ARRAY a BYTE len) |
|||
INT i |
|||
FOR i=1 TO len-1 |
|||
DO |
|||
IF SCompare(a(0),a(i))#0 THEN |
|||
RETURN (0) |
|||
FI |
|||
OD |
|||
RETURN (1) |
|||
BYTE FUNC IsAscendingOrder(CARD ARRAY a BYTE len) |
|||
INT i |
|||
FOR i=1 TO len-1 |
|||
DO |
|||
IF SCompare(a(i-1),a(i))>=0 THEN |
|||
RETURN (0) |
|||
FI |
|||
OD |
|||
RETURN (1) |
|||
PROC Test(CARD ARRAY a BYTE len) |
|||
INT i |
|||
Print("Input array: [") |
|||
FOR i=0 TO len-1 |
|||
DO |
|||
Print(a(i)) |
|||
IF i<len-1 THEN |
|||
Put(32) |
|||
FI |
|||
OD |
|||
PrintE("]") |
|||
IF AreEqual(a,len) THEN |
|||
PrintE("All strings are lexically equal.") |
|||
ELSE |
|||
PrintE("Not all strings are lexically equal.") |
|||
FI |
|||
IF IsAscendingOrder(a,len) THEN |
|||
PrintE("The list is in strict ascending order.") |
|||
ELSE |
|||
PrintE("The list is not in strict ascending order.") |
|||
FI |
|||
PutE() |
|||
RETURN |
|||
PROC Main() |
|||
CARD ARRAY a1(4),a2(4),a3(4),a4(1) |
|||
a1(0)="aaa" a1(1)="aaa" a1(2)="aaa" a1(3)="aaa" |
|||
Test(a1,4) |
|||
a2(0)="aaa" a2(1)="aab" a2(2)="aba" a2(3)="baa" |
|||
Test(a2,4) |
|||
a3(0)="aaa" a3(1)="aab" a3(2)="aba" a3(3)="aba" |
|||
Test(a3,4) |
|||
a4(0)="aaa" |
|||
Test(a4,1) |
|||
RETURN</lang> |
|||
{{out}} |
|||
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Compare_a_list_of_strings.png Screenshot from Atari 8-bit computer] |
|||
<pre> |
|||
Input array: [aaa aaa aaa aaa] |
|||
All strings are lexically equal. |
|||
The list is not in strict ascending order. |
|||
Input array: [aaa aab aba baa] |
|||
Not all strings are lexically equal. |
|||
The list is in strict ascending order. |
|||
Input array: [aaa aab aba aba] |
|||
Not all strings are lexically equal. |
|||
The list is not in strict ascending order. |
|||
Input array: [aaa] |
|||
All strings are lexically equal. |
|||
The list is in strict ascending order. |
|||
</pre> |
</pre> |
||