2

ずっと前に、変数を使用する小さなプログラムを作成する必要がある場合、どのように変数を定義し、変数の量を知らないという問題に行き詰まりました。

IE、ユーザーに数値の入力を求めるプログラムがある場合、ユーザー入力の数値はプログラムで必要な変数の数値です。JavaまたはVBでは、必要に応じて(外出先で)変数を定義できるため、これを簡単に解決できますが、pascalではメインプログラムコードの開始前に変数を宣言するため、このトリックを使用できません。

私は多次元配列について考えていましたが、これを修正するには貧弱な方法だと思います.必要な数よりも少ない「正方形」を定義すると短くなり、実際に使用するよりも多く定義すると無駄な記憶…

では、未知数の変数をどのように定義するのでしょうか?

4

2 に答える 2

2

を使用して配列のサイズを動的に変更できますSetLength

Type 
  TByteArray = Array of Byte;

Var
  Data : TByteArray
  NewSize : Integer;
Begin
  Write('Enter the number of bytes you require: ');
  ReadLn(NewSize)
  SetLength(Data, NewSize);
  ...
End;

構文エラーがあればすみません。私は 20 年以上 Pascal を使用していません。なんて素晴らしい言語でしょう!

于 2012-04-18T03:40:29.553 に答える
1

ユーザーが提供した数に基づいて、メモリを動的に割り当てる必要があります。このページが正しければ、FreePascal で実行できます。

type dynamic_array= array of integer;
var x:dynamic_array;
setlength(x, k);

kユーザー入力はどこですか

于 2012-04-18T03:40:57.843 に答える