あなたのコードを適切にインデントする(書式設定する)ことを学ぶと、問題は本当に明確です。この回答は、あなたが投稿した元のコードに基づいています。しかし、回答の情報は依然として問題に関連しています。あなたが投稿何
:
それが適切な形式のどのように見えるか
Program Arrayexamp(output); Var counter,index,input: Integer; A : Array[1..15] of Integer;
begin
For index := 1 to 15 do
begin read(input);
A[index] := input;
index++
end;
begin
For index := 1 to 15 do
If (counter mod 2 = 0) Then B[counter]=A[counter]*3 Else B[counter]=A[counter]-5; end.
:
Program Arrayexamp(output);
Var
counter,index,input: Integer;
A : Array[1..15] of Integer;
begin
For index := 1 to 15 do
begin
read(input);
A[index] := input;
index++
end;
begin
For index := 1 to 15 do
If (counter mod 2 = 0) Then
B[counter] = A[counter] * 3
Else B[counter]=A[counter]-5;
end.
問題がクリアされている:あなたは下のブロック内の一致end;
なしbegin
を持っています。実際には、begin
は全く不要で、削除することができます。
第2の問題は、ループ自体がループ変数を増加させるため、ループ内のそのカウンタを変更することは不正です。 index++;
行を削除します。 (次の段落も参照してください)
第3の問題は、Pascalはプリインクリメントまたはポストインクリメント演算子をサポートしないため、index++
は無効な構文です。代わりにindex := index + 1;
またはInc(index);
を使用してください。
より適切に書かれたコード:パスカルでbegin..end
の構文および使用に関する詳細については
Program Arrayexamp(output);
Var
counter,index,input: Integer;
A: Array[1..15] of Integer;
begin
For index := 1 to 15 do
begin
read(input);
A[index] := input;
end;
For index := 1 to 15 do
if (counter mod 2 = 0) Then
B[counter] = A[counter] * 3
Else B[counter]=A[counter] - 5;
end.
を、多少の誤差があります*私はProper structure syntax for Pascal if then begin end
のために書いたこの回答を参照してください*は、あなたがない限り無意味ですそれらのエラーが正確であることを教えてください。彼らはあなたの目の前で、画面上にあります。私たちが持っているので、あなたの投稿にそれらを含めない理由はありません。また、コードを適切にフォーマットすると、この問題は非常に明確になります。 –
可能な重複[パスカルの適切な構造体のシンタックスは、begin endと; (イノセットアップで)](http://stackoverflow.com/questions/28221394/proper-structure-syntax-for-pascal-if-then-begin-end-and-in-inno-setup) –
@nil:いいえ、 そうではありません。他にも問題があります。私の答えを読んでください。 (あなたが提案した複製への回答を書いて、それを私のポストにリンクしました。それは複製ではありません。) –