Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project1;
- type
- TIntegerArray = array of integer;
- function getRandomNumber(a, b: integer): integer;
- var
- rand: integer;
- begin
- rand := Random(b - a + 1) + a;
- while rand mod 2 <> 0 do
- begin
- rand := Random(b - a + 1) + a;
- end;
- Result := rand;
- end;
- function getRandomArray(n: integer): TIntegerArray;
- var
- i: integer;
- begin
- for i := 0 to n - 1 do
- begin
- SetLength(Result, length(Result) + 1);
- Result[i] := getRandomNumber(1, 50);
- end;
- end;
- procedure displayArray(arr: array of integer);
- var
- i: integer;
- begin
- Write('Array: ');
- for i := 0 to length(arr) - 1 do
- begin
- Write(arr[i]:4);
- end;
- WriteLn;
- end;
- function sortArray(arr: TIntegerArray): TIntegerArray;
- var
- half: integer;
- var
- i: integer;
- begin
- half := Round(length(arr) / 2);
- for i := 0 to half - 1 do
- begin
- if i = 0 then
- begin
- arr[half + 1] := arr[half + 1] + Round(arr[half] / 2);
- arr[half - 1] := arr[half - 1] + Round(arr[half] / 2);
- end
- else
- begin
- arr[half + (i + 1)] := arr[half + (i + 1)] + Round(arr[half + i] / 2);
- arr[half - (i + 1)] := arr[half + (i + 1)] + Round(arr[half - i] / 2);
- end;
- end;
- Result := arr;
- end;
- var
- arr: TIntegerArray;
- newArr: TIntegerArray;
- begin
- arr := getRandomArray(13);
- displayArray(arr);
- newArr := sortArray(arr);
- displayArray(newArr);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement