###前提・実現したいこと
C言語によって一行に並ぶスペースで区切られた個数が不定の数値の読み取りを実現したいです。例えば入力が、
4 4 6 2 8 6 4 10 51 4 3 1 2 13 4
- 最初に以降いくつの数値が並ぶかの入力がある
- 以降その個数だけ数値が並ぶ
- 各数値の間はスペースで区切られている
- 改行は最初に指定した個数を全て入力し終わった際にのみ
M 数値1 数値2 数値3 … 数値M
となっていた場合、上記3行の入力中に出力が行われないようにして上記の数値を全て変数、もしくは配列に数値として個別に格納することは可能でしょうか。
よろしくお願いします。
###発生している問題
例えば最初の1文字だけ変数に入力し、以後その分だけFor文で繰り返し配列に代入する、みたいなことを考えてました。
scanfを使い試してみたのですが、一行の個数が変動する数値の入力に対して記述の仕方が全く分かりませんでした。
mallocによる記述も試みましたが、最初の個数を入力する段階で改行されている必要があり、このように一行の入力に対して上手く記述できませんでした…。
文字列として読み取り、数値変換することも考えましたが、
- スペースが含まれる
- 二桁の入力もある
- 結合して数値としたいわけではなく、個別に値を扱いたい
等の理由から気が遠くなり、もし数値としてそのまま格納する方法があるのならば、と思い質問させていただきました。
解答よろしくお願いします。
###環境
Eclipse Cpp Mars
MinGW
≪追記≫
どれも非常に興味深く、大変勉強になり、どれをベストアンサーにすべきか悩みましたが、最終的にコードが一番短く、分かりやすい記述となった解答をベストアンサーとさせていただきました。
ありがとうございました!
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/16 05:52 編集