Ошибка fatal: syntax error identifier expected - Free Pascal
Формулировка задачи:
program AAG_7; Uses CRT; Var AA: Array[1..8,1..4] of Integer; I,J,:Integer; Imx,Imn,maxSum,minSum,rowSum,Buf,SumStr,SumAll:Integer; Procedure ZAP; Begin Randomize; For I:=1 To 8 Do For J:=1 To 4 Do AA[I,J]:=Random(41)-20; End; Procedure PrintArr; Begin For I:=1 To 8 Do Begin For J:=1 To 4 Do Write(AA[I,J]:5); WriteLn; End; END; Procedure Sum; Begin SumAll:=0; Imn:=1; Imx:=1; maxSum:=-700; minSum:=700; For I:=1 To 8 Do Begin rowSum:=0; For J:=1 To 4 Do Begin rowSum:=rowSum+AA[I,J]; If rowSum>maxSum then Begin maxSum:=rowSum; Imx:=I; End; If rowSum<minSum then Begin minSum:=rowSum; Imx:=I; End; WrireLn('SumStr',I:4,'rowSum'); End; For J:=1 To 4 Do Begin Buf:=AA[Imn,J]; AA[Imn,J]:=AA[Imx,J]; AA[Imx,J]:=Buf; End; WriteLn; End.
Решение задачи: «Ошибка fatal: syntax error identifier expected»
textual
Листинг программы
Program AAG_7; Uses CRT; Var AA: Array[1..8,1..4] Of Integer; Var I,J: Integer; Imx,Imn,maxSum,minSum,rowSum,Buf,SumStr,SumAll: Integer; Procedure ZAP; Begin Randomize; For I:=1 To 8 Do For J:=1 To 4 Do AA[I,J] := Random(41)-20; End; Procedure PrintArr; Begin For I:=1 To 8 Do Begin For J:=1 To 4 Do Write(AA[I,J]:5); WriteLn; End; End; Procedure Sum; Begin SumAll := 0; Imn := 1; Imx := 1; maxSum := -700; minSum := 700; For I:=1 To 8 Do Begin rowSum := 0; For J:=1 To 4 Do Begin rowSum := rowSum+AA[I,J]; If rowSum>maxSum Then Begin maxSum := rowSum; Imx := I; End; If rowSum<minSum Then Begin minSum := rowSum; Imx := I; End; WriteLn('SumStr',I:4,'rowSum'); End; For J:=1 To 4 Do Begin Buf := AA[Imn,J]; AA[Imn,J] := AA[Imx,J]; AA[Imx,J] := Buf; End; WriteLn; End.
Объяснение кода листинга программы
- Объявлены переменные:
- AA: Array[1..8,1..4] Of Integer;
- I, J: Integer;
- Imx, Imn, maxSum, minSum, rowSum, Buf, SumStr, SumAll: Integer;
- Выполняется процедура ZAP, которая инициализирует массив AA случайными значениями.
- Выполняется процедура PrintArr, которая выводит на экран все значения массива AA.
- Выполняется процедура Sum, которая выполняет суммирование элементов каждой строки массива AA и находит максимальную и минимальную сумму. Также процедура выполняет перестановку элементов в строке с минимальной суммой на позицию строки с максимальной суммой.
- Переменная SumAll инициализируется нулем.
- Переменные Imn и Imx инициализируются единицей.
- Переменные maxSum и minSum инициализируются значением -700.
- Цикл выполняется для каждой строки массива AA.
- Внутри цикла выполняется другой цикл, который суммирует элементы текущей строки.
- Если текущая сумма больше maxSum, то обновляются значения maxSum, Imx.
- Если текущая сумма меньше minSum, то обновляются значения minSum, Imx.
- Выводится на экран значение текущей суммы.
- Цикл выполняется для каждой строки массива AA.
- Внутри цикла выполняется другой цикл, который ищет пару элементов для перестановки.
- Переменная Buf инициализируется значением элемента в позиции (Imn,J).
- Элемент в позиции (Imn,J) заменяется на значение элемента в позиции (Imx,J).
- Элемент в позиции (Imx,J) заменяется на значение переменной Buf.
- Выводится на экран результат.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д