program aa;
(* Esimerkki 2.
   10.5.1999 Matti Meriläinen

   Merkkijonolistan alustaminen, satunnaisen listan luominen,
   listasta alkion etsiminen ja listasta poistaminen.
   Ohjelma luo merkkijonolistan yhden merkin pituisista merkkijonoista
   ja poistaa merkkejä listan alusta ensimmäiseen "e" - kirjaimeen 
   asti. Huomaa yleisen listan funktioiden käyttö niissä kohdissa
   joissa se on sallittua.
*)
  
uses TRA_INT, TRA_FLOAT, TRA_CHARP, TRA_TRA, TRA_LIST, TRA_LIST_TYPES,
     TRA_INT_LIST, TRA_FLOAT_LIST, TRA_CHARP_LIST;

var L : LIST;
    p, q : LIST_POSITION;
  
begin
    LIST_CREATE(L, CHARP_DESC);
    LIST_CONSTRUCT_RANDOM(L, 35, 1, 0);
    LIST_PRINT(L);
    writeln;

    p := CHARP_LIST_LOCATE(L, "e");
    q := LIST_FIRST(L);
    while (q <> p) do begin 
        LIST_DELETE(L, LIST_FIRST(L));
        q := LIST_FIRST(L);
    end;
    LIST_PRINT(L);
end.
