32 lines
544 B
Plaintext
32 lines
544 B
Plaintext
MODULE ArrayLength;
|
|
IMPORT
|
|
Strings,
|
|
Out;
|
|
TYPE
|
|
String = POINTER TO ARRAY OF CHAR;
|
|
VAR
|
|
a: ARRAY 16 OF String;
|
|
|
|
PROCEDURE NewString(s: ARRAY OF CHAR): String;
|
|
VAR
|
|
str: String;
|
|
BEGIN
|
|
NEW(str,Strings.Length(s) + 1);COPY(s,str^);
|
|
RETURN str
|
|
END NewString;
|
|
|
|
PROCEDURE Length(a: ARRAY OF String): LONGINT;
|
|
VAR
|
|
i: LONGINT;
|
|
BEGIN
|
|
i := 0;
|
|
WHILE (a[i] # NIL) DO INC(i) END;
|
|
RETURN i;
|
|
END Length;
|
|
|
|
BEGIN
|
|
a[0] := NewString("apple");
|
|
a[1] := NewString("orange");
|
|
Out.String("length: ");Out.Int(Length(a),0);Out.Ln
|
|
END ArrayLength.
|