1

这个程序应该对一个数组进行排序并用从 1 到 1000 的随机整数填充它。它需要找到最大值并打印数组。它应该以两种方式打印数组:ARRAY OF INTEGERArrayType. 我需要帮助来打印这个数组ArrayType。我不是很熟悉,Pascal我的任务是打印这个数组ArrayType作为参数。这是我到目前为止的代码:

PROGRAM SortingAlgorithm;

Var intArray : array[1..20] OF INTEGER;
Var i, j, index : INTEGER;

PROCEDURE Sort(intArray : ARRAY OF INTEGER; size : INTEGER);
BEGIN
   FOR i := 2 to 20 do
   BEGIN
      index := intArray[i];
      j := i;
      WHILE ((j > 1) AND (intArray[j-1] > index)) do
      BEGIN
         intArray[j] :=intArray[j-1];
         j := j - 1;
      END;
      intArray[j] := index;
   END;
END;

PROCEDURE fillArray(var a,b : integer);
VAR temp : INTEGER;
BEGIN
    temp := a;
    a := b;
    b := temp;
END;
BEGIN
  FOR i := 1 to 20 do
    intArray[i] := i;
  FOR i := 1 to 20 do
    fillArray(intArray[i],intArray[random(20)+1]);
END.

PROCEDURE findMax(intArray : ARRAY OF INTEGER; size : INTEGER);
VAR max : INTEGER;
begin
     max := 1;
     FOR i := 2 to size do
     BEGIN
         IF intArray[i] > intArray[max] THEN
         max:=i;
     END;
END;

PROCEDURE printArray(intArray : ARRAY OF INTEGER; size : INTEGER);
BEGIN
    FOR i := 1 to 20 do
        Writeln(intArray[i]);
END;

PROCEDURE printArray2();
BEGIN

END;


BEGIN
    fillArray (intArray);
    printArray (intArray);
    printArray2 (intArray);
    largestValue := findMax (intArray);
    WriteLn (‘The largest value is ‘, largestValue);
    sort (intArray);
    printArray (intArray);
END.

printArray2是为ArrayType参数。这是我为这个程序提供的所有信息,我不确定使用参数打印是什么ArrayType意思。任何帮助表示赞赏。谢谢。

4

0 回答 0