How to check if all strings in array of strings are in ascending order with Pascal

1 Answer

0 votes
program CheckAscendingOrder;

Uses sysutils;

type
    TStringArray = array of string;
  
function AreStringsInAscendingOrder(const arr: TStringArray): Boolean;
var
    i: Integer;
begin
    if Length(arr) <= 1 then
    begin
        AreStringsInAscendingOrder := True; 
        Exit;
    end;

    for i := 1 to High(arr) do
    begin
        if CompareStr(arr[i], arr[i - 1]) < 0 then
        begin
            AreStringsInAscendingOrder := False;
            Exit;
        end;
    end;

    AreStringsInAscendingOrder := True; 
end;

var
    strings: TStringArray;
begin
    SetLength(strings, 4); 
  
    strings[0] := 'aaa';
    strings[1] := 'bbb';
    strings[2] := 'ccc';
    strings[3] := 'ddd';

    if AreStringsInAscendingOrder(strings) then
        WriteLn('yes')
    else
        WriteLn('no');
end.




(*
run:
 
yes
 
*)

 



answered Aug 12, 2023 by avibootz
...