Phrase reversals: Difference between revisions
Content added Content deleted
(Initial implementation in PL/I) |
|||
Line 753: | Line 753: | ||
Words reversed: attesor edoc esarhp lasrever |
Words reversed: attesor edoc esarhp lasrever |
||
Word order reversed: reversal phrase code rosetta</pre> |
Word order reversed: reversal phrase code rosetta</pre> |
||
=={{header|PL/I}}== |
|||
<lang PL/I> |
|||
reverser: procedure options (main); /* 19 August 2015 */ |
|||
declare (phrase, r, word) character (100) varying; |
|||
declare (start, end) fixed binary; |
|||
phrase = 'rosetta code phrase reversal'; |
|||
put ('The original phrase is: ' || phrase); |
|||
put skip list ( '1. ' || reverse(phrase) ); |
|||
start = 1; r = ''; put skip edit ('2. ') (a); |
|||
do until ( end > length(phrase) ); |
|||
end = index(phrase, ' ', start); /* Find end of the next word.*/ |
|||
if end = 0 then end = length(phrase) + 1; /* We're at the last word. */ |
|||
word = substr(phrase, start, end-start); |
|||
put edit ( reverse(word), ' ' ) (a); /* Append reversed word. */ |
|||
r = word || ' ' || r; /* Prepend normal word. */ |
|||
start = end+1; |
|||
end; |
|||
put skip list ('3. ' || r); |
|||
end reverser; |
|||
</lang> |
|||
Output: |
|||
<pre> |
|||
The original phrase is: rosetta code phrase reversal |
|||
1. lasrever esarhp edoc attesor |
|||
2. attesor edoc esarhp lasrever |
|||
3. reversal phrase code rosetta |
|||
</pre> |
|||
=={{header|PowerShell}}== |
=={{header|PowerShell}}== |