2012-01-27 1 views
0

宿題を割り当てるには、ファイルから拡張行列を読み込み、部分的なピボットを使ってGaussian Eliminationを実行する必要があります。問題は、ベクトルbで拡張された任意のサイズの行列(正方形かどうか)をロードする必要があることです。CのファイルからDynamic Augmented Matrixを読み込む

Ax = bは明らかに方程式であり、[A b]を含むファイルが与えられます。次のようにファイルの例である:

2.0000000000000000e + 000 2.0000000000000000e + 000 1.0000000000000000e + 000 4.0000000000000000e + 000 2.0000000000000000e + 000 1.0000000000000000e + 000

1.0000000000000000e + 000 3.0000000000000000e + 000 2.0000000000000000e + 000 -3.0000000000000000e + 000 2.0000000000000000e + 000 2.0000000000000000e + 000

4.0000000000000000e + 000 0.0000000000000000e + 000 0.0000000000000000e + 000 2.0000000000000000e + 000 3.0000000000000000e + 000 3.0000000000000000e + 000

-2.0000000000000000e + 000 1.0000000000000000e + 000 1.0000000000000000e + 000 0.0000000000000000e + 000 2.0000000000000000e + 000 2.0000000000000000e + 000

3.0000000000000000e + 000 8.0000000000000000e + 000 4.0000000000000000e + 000 -7.0000000000000000e + 000 8.0000000000000000e + 000 1.0000000000000000e + 000

このファイルには、1行に6つの倍数があるため、ベクトルbを増やした5x5行列です。

サイズにコマンドライン引数を使用することは許可されていません(他の引数はファイルです)。私はマトリックスにダブルスをロードする方法について知りたいのです。各テストファイルの行数は異なります。たとえば、1行に3行、もう1行に10があります。

この行列は2次元配列として格納されます。

答えて

0

strtok関数を使用すると、空白で区切られた数字を読み取り、トークンの数を数えて行列の寸法を知ることができます。

strtokは、文字列トークン化を実行する関数です。

strtokを使用する方法の例のためのc-FAQを参照してください:

http://c-faq.com/lib/strtok.html

+0

はそれが私が探していたが、それを見つけることができなかったものだ、ありがとう。 – Copephobia

+0

@Copephobiaよろしくお願いします! – ouah

関連する問題