キーボードから「英文」を読み込み、空白(スペース)を英単語の区切りとみなして英単語辞書を整順リスト形式で作りたいのですがうまくいきません。
ソースとコンパイル結果の間違いは↓にありますが、そもそも 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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- Excel(エクセル) vba 「Nextに対するForが見当たりません」のエラーが発生する原因 1 2022/10/21 15:46
- Visual Basic(VBA) 実行時エラー´5854´ 文字列型パラメーターが長すぎます。 3 2023/06/08 21:17
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- 英語 to date 2 2023/05/23 23:22
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Visual Basic(VBA) FileSearch2007に変わる構文について 1 2022/12/16 16:57
- Excel(エクセル) マクロで列を加えたら上手くいかなくなりました。 2 2022/05/23 17:59
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードセットにnullの場合
-
タイムアウトする仕組みを作りたい
-
他のフォームから別のフォーム...
-
【VB6.0】 あるフォームから他...
-
Excel VBAでsub,dimは何の略?
-
PL/SQLのプロシージャ間でカー...
-
GetNextWindowがDLLファイルUse...
-
visual basic初心者です。 visu...
-
ExcelのVBA。Staticな変数について
-
Matlabでsin波を使って矩形波を...
-
VB6でClickイベントを一時的に...
-
VBA public変数はどのようなこ...
-
texで図と表を並べたい
-
Functionの戻り値を配列にした...
-
テキストボックス1の値に対する...
-
ExcelのVBAで文章にある複数の...
-
テキストボックスに大文字を
-
アクセスできない保護レベルエ...
-
構造体のコピー
-
エクセルVBAでテキストボッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
タイムアウトする仕組みを作りたい
-
レコードセットにnullの場合
-
subsequentとnextの違いってな...
-
日付の重複
-
verilogのcase文
-
Verilog-HDLによる設計において
-
Verilogの文法
-
リスト間のアイテム移動について
-
Rubyプログラミングの課題につ...
-
EXCEL VBA 文字 アドレス 検...
-
Delphiでコンポーネント名を変...
-
delphi
-
TreeViewのTag情報取得
-
pascalでの二分探索(バイナリ...
-
エクセルVBAついて ①if•••••the...
-
「for next」文と「if then els...
-
整順リスト形式の英単語辞書(pa...
-
直線検出のハフ変換プログラム(...
-
Matlab
-
【FPGA】VHDLのprocessとevent
おすすめ情報