asmodeus94

cwSkladySort

Feb 3rd, 2013
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.56 KB | None | 0 0
  1. program sortowanie;
  2. uses crt,dos;
  3. var c,cw1Il,cw2Il,d : byte;
  4. tab2 : array[1..100,1..2] of string;
  5. procedure cw(ktore : string;tabek : byte);
  6. type
  7. rek = record
  8. m,pam : string;
  9. end;
  10. var
  11. tab:array[1..100] of rek;
  12. sch : rek;
  13. i,ile:integer;
  14. cw1 : text;
  15. begin
  16. assign(cw1,ktore);reset(cw1);
  17.        c:=0;
  18.        REPEAT
  19.           c:=c+1;
  20.           tab[c].m:='';tab[c].pam:='';
  21.           readln(cw1,tab[c].pam);
  22.           tab2[c,tabek]:=tab[c].pam;
  23.           tab[c].m:=lowercase(tab[c].pam);
  24.        UNTIL eof(cw1);
  25.  ile:=c;
  26. for c:=1 to ile-1 do
  27.   for i:=1 to ile-c do begin
  28.      if tab[i].m>tab[i+1].m then begin
  29.         sch:=tab[i];tab[i]:=tab[i+1];tab[i+1]:=sch;
  30.       end;
  31.    end;
  32. c:=0;
  33. rewrite(cw1);
  34. REPEAT
  35. c:=c+1;
  36. writeln(cw1,tab[c].pam);
  37. UNTIL c=ile;
  38. close(cw1);
  39. end;
  40. procedure zes;
  41. var
  42. t,p : text;
  43. linia : string;
  44. d,m,y,ty,h,mm,s,ms : word;
  45. begin getDate(y,m,d,ty);getTime(h,mm,s,ms);
  46. assign(t,'zes.txt');rewrite(t);
  47. write(t,'Ostatnia modyfikacja: ',d,'.');
  48. if m div 10=0 then write(t,'0',m,'.') ELSE write(t,m,'.');
  49. write(t,y,'r. (',h,':');
  50. if mm div 10=0 then write(t,'0',mm,':') ELSE write(t,mm,':');
  51. if s div 10=0 then writeln(t,'0',s,')') ELSE writeln(t,s,')');
  52. writeln(t,'**********************');
  53. writeln(t,'1. GRUPA:');
  54. assign(p,'cw1.txt');reset(p);
  55. c:=0;
  56. cw1Il:=0;
  57.    REPEAT
  58.       c:=c+1;
  59.       readln(p,linia);
  60.       cw1Il:=cw1Il+1;
  61.       writeln(t,c,'. ',linia);
  62.    UNTIL eof(p);
  63.       writeln(t,'----------------------');
  64. close(p);
  65. writeln(t,'2. GRUPA:');
  66. assign(p,'cw2.txt');reset(p);
  67. c:=0;
  68. cw2Il:=0;
  69.    REPEAT
  70.       c:=c+1;
  71.       readln(p,linia);
  72.       cw2Il:=cw2Il+1;
  73.       writeln(t,c,'. ',linia);
  74.    UNTIL eof(p);
  75. close(p);
  76. writeln(t,'~~~~~~~~~~~~~~');
  77. write(t,'LĄCZNIE JEST NAS: ',cw1Il+cw2Il);
  78. close(t);
  79. end;
  80. procedure sprD;
  81. var c1,licz : byte;
  82. tabD : array[1..100] of string;
  83. begin licz:=0;
  84. for c1:=1 to 100 do begin
  85.     for c:=1 to 100 do begin
  86.         if (tab2[c1,1]<>'')AND(tab2[c,2]<>'') then begin
  87.            if tab2[c1,1]=tab2[c,2] then begin
  88.               d:=1;
  89.               licz:=licz+1;tabD[licz]:=tab2[c1,1];
  90.            end;
  91.         end;
  92.     end;
  93. end;
  94. if d=1 then begin
  95.    writeln('Oto lista duplikatow: ');
  96.    for c:=1 to licz do begin
  97.        writeln(c,'. ',tabD[c]);
  98.    end;
  99. readkey;end;
  100. end;
  101. begin clrscr;
  102. d:=0;
  103. if fSearch('cw1.txt','')<> '' then cw('cw1.txt',1) ELSE begin write('Plik cw1.txt nie istnieje');delay(3000);halt; end;
  104. if fSearch('cw2.txt','')<> '' then cw('cw2.txt',2) ELSE begin write('Plik cw2.txt nie istnieje');delay(3000);halt; end;
  105. sprD;
  106. if d=0 then zes;
  107. end.
Advertisement
Add Comment
Please, Sign In to add comment