
program sort(input, output);
const numofdata =100 ;
var d: array [1..numofdata] of integer;
i,j,k: integer;
tmp: integer;
begin
for i:=1 to numofdata do
begin
read(d[i]);
end;
for i:=1 to numofdata-1 do
begin
j:=i;
for k:=i+1 to numofdata do
begin
if d[j]>d[k] then j:=k;
end;
tmp:=d[j];
d[j]:=d[i];
d[i]:=tmp;
end;
for i:=1 to numofdata do
begin
writeln(d[i])
end
end.
このプログラムを、データ数(1個から最大10000個まで)を最初に入力できるように変更するには、どうすればよいのでしょうか。教えてください。
No.1ベストアンサー
- 回答日時:
本質的には「numofdata を定数ではなく変数とする」で終了ですが, そうしちゃうと配列を定義するのが面倒なので「配列を定義す
るための定数」と「プログラム中で本当のデータ数を表すための変数」をわけるのが簡単かな.No.2
- 回答日時:
Pascalは良く覚えていないので、標準的な仕様のものだとダメかもしれませんが、
GNU Pascalでは
program moge;
var size : integer;
procedure sub(n : integer);
var ary : array [0..n] of integer;
begin
writeln('ary size = ', n);
end;
begin
size := 1000;
sub(size);
end.
のように、配列を宣言するときの上下限指定に
変数が使えるたので質問者さんの環境で
同じことができればこれを活かせばよいのでは。
#1のTacosanさんと同じ子と書いているような気がするけどいいや(笑)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Functionの戻り値を配列にした...
-
VB.NETでのイベントの途中終了
-
VB2010 TextBoxの数字の表示...
-
他のフォームから別のフォーム...
-
エクセルのVBAでの7×7の魔方陣...
-
VB6でForm_Load中にイベントを...
-
VBAで入力数値について
-
RichTextBoxで指定行の色を自動...
-
【VB6.0】 あるフォームから他...
-
C言語のサフィックスについて
-
エクセルVBAでテキストボッ...
-
VB6でClickイベントを一時的に...
-
FlexGridで文字色を変更。
-
Picture box の サイズを変更
-
パーソナルXLSBのfuctionを呼び...
-
[Excel2000]auto_closeを止めさ...
-
VBAでcallで呼び出したsubを終...
-
VB2005テキストボックスへのコ...
-
VBA public変数はどのようなこ...
-
【C#】コンボボックスにおけるS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでsub,dimは何の略?
-
Functionの戻り値を配列にした...
-
VB6で配列を引数にするときの2...
-
三項でたとえば交換って
-
xmlの値を配列変数に格納し...
-
2次元配列のデータをファイルへ...
-
ExcelVBAで他のファイル(proje...
-
配列に複数の値があるか簡潔に...
-
Pascalでの選択ソート
-
xmlの値を配列に格納したいんで...
-
VBA public変数はどのようなこ...
-
アクセスできない保護レベルエ...
-
C#のループでtextboxに値を入れ...
-
visual basic初心者です。 visu...
-
VB.NETでのイベントの途中終了
-
他のフォームから別のフォーム...
-
エクセルVBAでテキストボッ...
-
【VB.NET】テキストボックスに...
-
プロシージャまたは関数の引数...
-
VBAで入力数値について
おすすめ情報