キーボードから「英文」を読み込み、空白(スペース)を英単語の区切りとみなして英単語辞書を整順リスト形式で作りたいのですがうまくいきません。
ソースとコンパイル結果の間違いは↓にありますが、そもそも 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の場合
-
pascalでの二分探索(バイナリ...
-
TreeViewのTag情報取得
-
subsequentとnextの違いってな...
-
タイムアウトする仕組みを作りたい
-
Matlab
-
VBA public変数はどのようなこ...
-
C#のループでtextboxに値を入れ...
-
リストビューの列ヘッダーの幅...
-
チェックボックスを操作できな...
-
アクセスできない保護レベルエ...
-
Pythonのre.split()の正規表現...
-
VB.NETでのイベントの途中終了
-
VBAで入力数値について
-
ユーザーフォームへのデータ入...
-
visual basic初心者です。 visu...
-
C言語のサフィックスについて
-
Functionの戻り値を配列にした...
-
他のフォームから別のフォーム...
-
Excel VBAでsub,dimは何の略?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードセットにnullの場合
-
タイムアウトする仕組みを作りたい
-
subsequentとnextの違いってな...
-
verilogのcase文
-
【FPGA】VHDLのprocessとevent
-
vbsのmsgboxランダム表示について
-
TreeViewのTag情報取得
-
Verilogの文法
-
リスト間のアイテム移動について
-
日付の重複
-
文字の連結がうまくいかない
-
エクセルVBAついて ①if•••••the...
-
delphi
-
なんで? cEn-P^-1AP=P^-1(cEn-AP)
-
Scilabの&と&&に関する質問です
-
vb2010webページのリンクをクリ...
-
EXCEL VBA 文字 アドレス 検...
-
整順リスト形式の英単語辞書(pa...
-
Matlab
-
三項でたとえば交換って
おすすめ情報