こちらの問題です。
http://www4.uploader.jp/user/tyranoheya/images/t …
コンパイラ:gcc
OS:linux
どのようにしていいかまったくわからない状態です。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ベタ作りでいいのであれば、以下のような流れでいいのではないかと。
1."DFA.def"より読込み込んだ情報以下のように格納する。
// DFA構造体定義
struct DFA {
char symbol;
int before;
int after;
};
static int initNumber; // 初期状態
static int allowList[n];// 最終状態の集合
static struct DFA defList[m]; // DFAリスト情報
※上記nは説明便宜上です。"(状態は空白で区切る)"との仕様に基づき要素数を算出し動的メモリの確保をしていただければよいかと。
※上記mは説明便宜上です。"((状態 記号 次の状態)のように3つの要素を空白で区切って書く.なお, 1行ごとに一つずつ遷移を書くこと) "との仕様に基づき要素数を算出し動的メモリの確保をしていただければよいかと。
最悪決め打ちでもいいですが、その場合は構造体の初期化は忘れないでくださいね。
2.条件をサーチする。
上記構造体内"symbol"を基準にして構造体最終までループさせ、条件合致を判定する。
以下のような感じの関数使えばいいと思います。
int CheckDFA(char data, int status)
{
int result = -100;
int i;
for(i=0; i<n i++)
{
if((defList[i].symbol == data)
&& (defList[i].before == status))
{
result = defList[i].after;
break;
}
}
return result;
}
3.最終判定実施。
上記2が途中で-1となり途中終了 or 最終結果が最終状態集合に合致 or 合致しない を判定出力。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Zabbix監視エージェントをインストールしてもデータを収集できずアクティブにならない 1 2023/02/26 20:25
- その他(プログラミング・Web制作) テキストデータ変換(プログラミング、linux、python) 8 2023/08/08 16:39
- その他(プログラミング・Web制作) .htaccessの設定で、httpはhttpsに、且つ、wwwありに統一、の記述方法 2 2023/06/22 10:54
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- 日本語 問題: どこかで会った人______。 A なあ B だよ C だぞ D かしら この練習問題につい 8 2022/09/06 15:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/02/05 09:55
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- 哲学 日本語は論理表現にふさわしくないか の問題です 4 2022/06/25 03:56
- 哲学 日本語は 言語類型として あたかも始原のごとくである 3 2022/05/29 04:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linux Cプログラミングを学ぶた...
-
右ビットシフト
-
プログラミングについて。 1つ...
-
プログラミングの授業の課題です
-
Notepad++の関数リスト表示の変...
-
S-JIS → JIS コード変換するには
-
C言語をコンパイルするとコンピ...
-
こんなことてしますか??
-
[C言語]fputsとfprintfの違い
-
これなにがちがうんですか??
-
win10で、正確な待ち時間の作り方
-
システムエンジニアの適正について
-
ArduinoでMouse関数を使用して...
-
gccを行ってもexeファイルが生...
-
C言語 バッファについて。
-
整数1〜99を入力させ、それを英...
-
C言語初心者 ポインタについて...
-
あなたは、Excelはどうやって学...
-
LinuxカーネルのCFSで用いられ...
-
卒業研究でよく分からないとこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列と関数の練習問題
-
システムエンジニアの適正について
-
[C言語]fputsとfprintfの違い
-
C言語をコンパイルするとコンピ...
-
mallocについて
-
どちのほうがすきですか?
-
ArduinoのジャイロモジュールMP...
-
大量のデータを読み込んで表示...
-
gccを行ってもexeファイルが生...
-
VisualStudio2022でC言語プログ...
-
C言語 列挙型(enum型)変数について
-
こんなことてしますか??
-
C言語の関数と配列に関する質問
-
Linuxでの開発環境構築や設定の...
-
質問失礼します。 プログラム言...
-
MACで動く実行ファイルをWindow...
-
WindowsのCapsLock(キャップス...
-
これなにがちがうんですか??
-
卒業研究でよく分からないとこ...
-
gcc13.2のバグ?
おすすめ情報