キーボードから「英文」を読み込み、空白(スペース)を英単語の区切りとみなして英単語辞書を整順リスト形式で作りたいのですがうまくいきません。
ソースとコンパイル結果の間違いは↓にありますが、そもそも v := read( sentences ) なんてのが可能なのかもわかりません。(readは最初から一文字ずつ読むとか聞いたのでこうしたのですが・・・)
どなたかご教授ください。
program kadai(input,output);
type list = ^mojirec;
mojirec = record
newword : packed array[1..20] of char;
next : list
end;
var sentences,v : packed array[1..500] of char;
p,head : list;
procedure insert(var p : list; x : packed array[1..20] of char );
var q : list;
begin
if p = nil then begin
new(p);
p^.newword := x;
p^.next := nil
end
else if x < p^.newword then begin
q := p;
new( p );
p^.newword := x;
p^.next := q
end
else
insert( p^.next,x )
end;
procedure print( p : list );
begin
if p<> nil then begin
writeln( p^.newword );
print( p^.next )
end
end;
begin
head := nil;
write('英文:');
readln( sentences );
repeat
repeat
repeat
read( sentences );
v := read( sentences );
until( read('') );
insert( head,v )
until ( read('.') );
writeln('英文:');
until ( sentences = '.' );
print( head )
end.
In program kadai:
E 18240 x undefined on lines 16 19 22 26
E 18240 insert undefined on line 26
終了条件はピリオド単体を読み込んだとき、英文の最後はピリオドを付けるようにとなっています。
No.1ベストアンサー
- 回答日時:
この課題のポイントは、英単語の切り分けとリスト構造の操作(データの比較、挿入、追加)にあるのではないかと思いますが、それ以前にreadの仕様がわからないのでしたら、まずそれをマスターする必要があるでしょう。
私だったら文法のマニュアルを読んだ上で、read,writeだけを使った小さなプログラムを作り、動作を確認します。
Delphiのコンソールプログラムですと read(sentence); で1行読み取ります(sentenceの型はstring)。それがわかれば、次はsentenceを英単語に切り分けてやればよい訳です。
あと、課題のおまけのポイントとして、英大小文字を同一視するか、同じ単語をどう扱うかなどの細かい仕様を詰めるとよいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
整順リスト形式の英単語辞書(pa...
-
【FPGA】VHDLのprocessとevent
-
TextBoxの内容を右寄せ
-
アクセスできない保護レベルエ...
-
String型の値にスラッシュをつ...
-
VBAでcallで呼び出したsubを終...
-
アクセスのフィールドに値をペ...
-
パーソナルXLSBのfuctionを呼び...
-
PL/SQLのプロシージャ間でカー...
-
C言語のサフィックスについて
-
テキストボックスを空白にする方法
-
テキストボックスにカーソルを...
-
演奏記号の・・・・
-
C#のループでtextboxに値を入れ...
-
特定の文字だけ太文字にするに...
-
他のフォームから別のフォーム...
-
エクセル・VBAでテキストボック...
-
エクセルVBAでテキストボッ...
-
VBA public変数はどのようなこ...
-
全組合せの洗い出しプログラム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードセットにnullの場合
-
タイムアウトする仕組みを作りたい
-
subsequentとnextの違いってな...
-
vbsのmsgboxランダム表示について
-
pascalでの二分探索(バイナリ...
-
Delphiでコンポーネント名を変...
-
日付の重複
-
delphi
-
リスト間のアイテム移動について
-
verilogのcase文
-
VBAでWorkbook_BeforeSaveイベ...
-
【FPGA】VHDLのprocessとevent
-
パスカル言語
-
Why is 77+33 not equal to 100?
-
整順リスト形式の英単語辞書(pa...
-
Matlab
-
VBA public変数はどのようなこ...
-
他のフォームから別のフォーム...
-
VB.NETでのイベントの途中終了
-
Excel VBAでsub,dimは何の略?
おすすめ情報