10-21-2011 09:30 AM
お世話になっております.
添付のテキストデータの様な形式のデータファイルを読み込み,
1つの整数sizeと,2つの行列a,bとして表されている数字を,
整数SIZEと配列A,Bとして獲得する方法を考えています.
(sample.txtでは,整数S:1行目,配列A:3行目から28行目,配列B:30行目から55行目)
但し,行列bのように数字の桁を合わせる為に要素間に任意の空白が要素間に入ります(1~*).
また,2つの行列の先頭にも任意の空白が入ることがあります(0~*).
整数sizeと行列aの間,行列aと行列bの間には確実に1行のみ空の行が存在します.
(
size
(空白行)
a
(空白行)
b
)
2つの行列は正方行列(行と列の要素数が同じ)であり,同じ要素数です.
これらの行列の大きさを示すものが整数sizeです.
(行列a,b共にsize×sizeの正方行列)
よろしくお願いします.
解決済! 解決策の投稿を見る。
10-21-2011 10:11 AM
配列のサイズが先頭に書かれていますので、それを使ってとにかく1個ずつ読み込んだ数値を
SIZE×SIZEのサイズの決まった配列に押し込めると思います。
「文字列からスキャン」を使うと、数値と数値の間が、スペースであろうとタブであろうと改行であろうと、
それが何個つながっていようと、区切られている限り1つずつ拾うことができるので、ちょうど良いかと思います。
当方versionが古いので、アイコンの見た目も違うと思いますので、一応viごと添付します。
(SIZEが決まっているので、この例では各ブロック間の空行さえ無視していることに注意)