asmodeus94

sortowanieWstawianie

Feb 20th, 2012
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.91 KB | None | 0 0
  1.        program sorter;
  2.        uses crt;
  3.        var
  4.        x,a,b,c,d:integer;
  5.        k1,i1,i,j:byte;
  6.        tab1:array[1..10]of byte;
  7.        tab2:array[1..10]of byte;
  8.  
  9.        procedure w1;
  10.        begin;
  11.        write('k1    ');
  12.        for i:=1 to 10 do begin;
  13.                          write(' ',i,'  ');
  14.                          end;
  15.        writeln(' ' );
  16.        write('tab1: ');
  17.        for i:=1 to 10 do begin;
  18.                          write('[',tab1[i],'] ');
  19.                          end;
  20.        writeln(' ');
  21.        end;
  22.  
  23.        procedure w2;
  24.        begin;
  25.        write('i1    ');
  26.        for i:=1 to 10 do begin;
  27.                          write(' ',i,'  ');
  28.                          end;
  29.        writeln(' ' );
  30.        write('tab2: ');
  31.        for i:=1 to 10 do begin;
  32.                          write('[',tab2[i],'] ');
  33.                          end;
  34.        writeln(' ');
  35.        end;
  36.  
  37.        procedure przes(x:byte); {procedura do przesuwania tablicy od indeksu x, o 1 w prawo}
  38.        begin;
  39.        for i:=10 downto x+1 do begin;
  40.                              tab2[i]:=tab2[i-1];
  41.                              end;
  42.        end;
  43.  begin;
  44.  clrscr;
  45.  
  46.  
  47.  tab1[1]:=10;
  48.  tab1[2]:=8;
  49.  tab1[3]:=6;
  50.  tab1[4]:=4;
  51.  tab1[5]:=2;
  52.  tab1[6]:=1;
  53.  tab1[7]:=3;
  54.  tab1[8]:=5;
  55.  tab1[9]:=7;
  56.  tab1[10]:=9;
  57.  w1;
  58.  w2;
  59.  i1:=3;
  60.  x:=3;
  61.  i1:=0;
  62.  
  63.  for d:=1 to 10 do begin;
  64.  x:=tab1[d];
  65.  clrscr;
  66.  w1;w2;
  67.  readkey;
  68.  for c:=1 to i1+1 do begin
  69.   if c>i1 then begin
  70.                tab2[c]:=x;
  71.                i1:=i1+1;
  72.                break;
  73.                end
  74.           else begin
  75.                if tab2[c]>x then begin
  76.                                  przes(c);
  77.                                  tab2[c]:=x;
  78.                                  i1:=i1+1;
  79.                                  break;
  80.                                  end;
  81.  
  82.                end;
  83.                end;
  84.     end;
  85.                w1;w2;
  86.  
  87.  readkey;
  88.  end.
Advertisement
Add Comment
Please, Sign In to add comment