Advertisement
melnikovmaxim

KLENINA_Ordering_check

Jan 2nd, 2020
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.25 KB | None | 0 0
  1. type
  2.    liste = record
  3.       next: ^liste;
  4.       inf: integer;
  5.    end;
  6.  
  7.    list = record
  8.       list1, list2, list3, list4: ^liste;
  9.    end;
  10.  
  11. var
  12.    listw: list;
  13.    i, inf, n, n1, n2: integer;
  14.    x: boolean;
  15.    s: string;
  16.  
  17.  
  18.  
  19. procedure vvod(var listw: list);
  20. var
  21.    i:integer;
  22. begin
  23.    begin
  24.       for i:=1 to 10 do
  25.       begin
  26.          New(listw.list2^.next);
  27.          listw.list2^.inf := i+i;
  28.          write(listw.list2^.inf,' ');
  29.          listw.list2 := listw.list2^.next;
  30.       end;
  31.       writeln();
  32.    end;
  33. end;
  34.  
  35.  
  36.  
  37. procedure prov(listw: list; g: integer);
  38. var
  39.    h: integer; b: boolean; i: integer;
  40. begin
  41.    if listw.list1 <> nil then
  42.       begin
  43.          if listw.list1^.inf < listw.list1^.next^.inf then
  44.             b := true
  45.          else
  46.             begin
  47.                b := false;
  48.                writeln('Список не упорядочен');
  49.             end;
  50.          for i := 1 to g do
  51.             listw.list1 := listw.list1^.next;
  52.             if b = true then
  53.             prov(listw, g + 1);
  54.       end;
  55.    if (listw.list1 = nil) and (b = true) then
  56.       writeln('Список упорядочен');
  57. end;
  58.  
  59. begin
  60.    New(listw.list1);
  61.    listw.list2 := listw.list1;
  62.    vvod(listw);
  63.    prov(listw, 1);
  64. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement