Program P5; { ~ p82_39.pas (Pag 82, probl 39) } {-------------------------------------------------------------- Se da un text in care cuvintele sint separate prin unul sau mai multe spatii. Sa se afiseze textul inversind ordinea cuvintelor. --------------------------------------------------------------} uses crt; var s: string; i, j, n: integer; cuv: array[byte]of integer; { cuv indica pozitia cuvintelor in string: I byte indica pozitia, II byte - lungimea. } {--------------------------------------------------------------} BEGIN clrscr; Writeln('Tapeaza un text:'); Readkey; ClrScr; readln(s); n:=0; i:=Length(s); {Determinarea coordonatelor cuvintelor in S} while i>0 do begin while(i>0)and(s[i]=' ')do dec(i); if i>0 then begin inc(n); cuv[n]:=0; repeat inc(cuv[n]); dec(i); Until (i=0)or(s[i]=' '); inc(cuv[n],(i+1)*$100); end; dec(i); end; { Afisarea cuvintelor in ordine inversa } for i:=1 to n do write(Copy(s,Hi(cuv[i]),Lo(cuv[i])),' '); readkey END. {--------------------------------------------------------------}