June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -0,0 +1,58 @@
|
|||
MODULE ReverseWords;
|
||||
|
||||
FROM STextIO IMPORT
|
||||
WriteString, WriteLn;
|
||||
FROM Strings IMPORT
|
||||
Assign, Concat, Append;
|
||||
|
||||
CONST
|
||||
NL = CHR(10);
|
||||
Sp = ' ';
|
||||
Txt = "---------- Ice and Fire -----------" + NL +
|
||||
NL +
|
||||
"fire, in end will world the say Some" + NL +
|
||||
"ice. in say Some" + NL +
|
||||
"desire of tasted I've what From" + NL +
|
||||
"fire. favor who those with hold I" + NL +
|
||||
NL +
|
||||
"... elided paragraph last ..." + NL +
|
||||
NL +
|
||||
"Frost Robert -----------------------" + NL;
|
||||
|
||||
TYPE
|
||||
String400 = ARRAY [0 .. 399] OF CHAR;
|
||||
|
||||
PROCEDURE AddWord(Source: ARRAY OF CHAR; VAR INOUT Destination: ARRAY OF CHAR);
|
||||
VAR
|
||||
R: String400;
|
||||
BEGIN
|
||||
Concat(Source, Sp, R);
|
||||
Append(Destination, R);
|
||||
Assign(R, Destination);
|
||||
END AddWord;
|
||||
|
||||
VAR
|
||||
I: CARDINAL;
|
||||
SingleWord, CurrentLine: String400;
|
||||
C: CHAR;
|
||||
|
||||
BEGIN
|
||||
SingleWord := "";
|
||||
CurrentLine := "";
|
||||
FOR I := 0 TO HIGH(Txt) DO
|
||||
C := Txt[I];
|
||||
CASE C OF
|
||||
Sp:
|
||||
AddWord(SingleWord, CurrentLine);
|
||||
SingleWord := ""; |
|
||||
NL:
|
||||
AddWord(SingleWord, CurrentLine);
|
||||
WriteString(CurrentLine);
|
||||
WriteLn;
|
||||
SingleWord := "";
|
||||
CurrentLine := ""; |
|
||||
ELSE
|
||||
Append(C, SingleWord);
|
||||
END;
|
||||
END;
|
||||
END ReverseWords.
|
||||
Loading…
Add table
Add a link
Reference in a new issue