ページ 11

文字列から数字を抽出する方法

Posted: 2021年6月04日(金) 01:47
by ミカン
C言語初心者です。初めて質問させていただきます。よろしくお願いします。

文字列から数字を抽出して、大きい順に並べるプログラムをどのように作ればいいかわかりません。
例1. abc34de56jh67 → 67 56 34

ご教授お願いします

Re: 文字列から数字を抽出する方法

Posted: 2021年6月04日(金) 02:24
by みけCAT
1. 作るプログラムの仕様を決める

例えば、
・抽出元の文字列はどこから入力させるか?
・数字はどのくらいの範囲(大きさ)まで対応するか? (例えば4桁?9桁?18桁?もっと?負の数は?)
・認める数字の範囲は? (全角アラビア数字は?漢数字は?ローマ数字は?その他の言語での数字や数を表す言葉は?)
・「大きい順」とは?数値として見た時の大きさ?辞書順?データサイズが大きい順?
・出力はどこに、どのような書式でする?
など。

2. 決めた仕様に基づき、プログラムを作る

3. 作ったプログラムをテスト・デバッグする

というように作ればいいと思います。

Re: 文字列から数字を抽出する方法

Posted: 2021年6月05日(土) 05:29
by 参照魚
まずは固定の文字列から連続する数字を抜き出す事を考えてみてください。

コード:

char test[]=“abc34de56jh67”;
その過程で抜き出した数字をどうやって保存しておくか(しないで済む方法はないか)?など疑問が出てくると思いますので、そうしたらまた少しづつ解決していきます。

経験を積んで慣れてくればそれが頭の中で描けるようになりますが、最初は問題を小さく局所的にしてトライ&エラーで良いかなと思います。