Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MODULE Stek3;
- FROM Info IMPORT InfoTip;
- FROM Stek IMPORT StekTip,Top,Pop,Push,MakeNull,Empty;
- FROM FIO IMPORT File,Open,Create,RdStr,WrStr,WrLn,EOF;
- FROM InOut IMPORT WriteString,WriteLn;
- TYPE
- String= ARRAY [1..100] OF CHAR;
- PROCEDURE Ucitaj(file: String;VAR s1,s2: StekTip);
- VAR
- f: File;
- s: InfoTip;
- ok: BOOLEAN;
- BEGIN
- f:= Open(file);
- EOF:= FALSE;
- WHILE NOT EOF DO
- RdStr(f,s);
- Push(s1,s,ok);
- IF NOT EOF THEN
- RdStr(f,s);
- Push(s2,s,ok);
- END;
- END;
- END Ucitaj;
- PROCEDURE Skrati(VAR s1,s2: StekTip);
- PROCEDURE Obrni(s: InfoTip): InfoTip;
- VAR
- i: CARDINAL;
- pom: CHAR;
- BEGIN
- i:= 1;
- WHILE (i > LENGTH(s)-i+1) DO
- pom:= s[i];
- s[i]:= s[LENGTH(s)-i+1];
- s[LENGTH(s)-i+1]:= pom;
- INC(i);
- END;
- RETURN s;
- END Obrni;
- VAR
- s,so,sl1,sl2: InfoTip;
- ok: BOOLEAN;
- BEGIN
- Top(s1,s,ok);
- Pop(s1,ok);
- Top(s1,sl1,ok);
- Pop(s1,ok);
- Top(s1,sl2,ok);
- WHILE ((LENGTH(s) > LENGTH(sl1)) OR (LENGTH(s) > LENGTH(sl2))) DO
- WriteString("WHILE");
- so:= Obrni(s);
- Push(s2,so,ok);
- Push(s1,sl1,ok);
- Top(s1,s,ok);
- Pop(s1,ok);
- Top(s1,sl1,ok);
- Pop(s1,ok);
- Top(s1,sl2,ok);
- END;
- Push(s1,sl1,ok);
- Push(s1,s,ok);
- END Skrati;
- PROCEDURE Stampaj(s: StekTip);
- VAR
- str: InfoTip;
- ok: BOOLEAN;
- BEGIN
- WriteLn;
- WHILE NOT Empty(s) DO
- Top(s,str,ok);
- Pop(s,ok);
- WriteLn;
- WriteString(str);
- END;
- END Stampaj;
- VAR
- s1,s2: StekTip;
- BEGIN
- Ucitaj("st.txt",s1,s2);
- Skrati(s1,s2);
- Stampaj(s1);
- Stampaj(s2);
- END Stek3.
Add Comment
Please, Sign In to add comment