- ベストアンサー
c++ファイルから複素数を読み込む方法
- c++でファイルから複素数を読み込む方法について教えてください。
- ファイルには実部と虚部が書かれた複素数が記述されています。
- 複素数のvectorを作成するためのソースコードや考え方を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
できた(Visual C++ 2012)。 #include <complex> #include <iostream> #include <fstream> #include <sstream> #include <vector> #include <string> int main( ) { using namespace std; vector<vector<complex<double>>> matrix; ifstream file("complex.txt"); string line; while ( getline(file,line) ) { istringstream stream(line); complex<double> c; vector<complex<double>> row; while ( stream >> c ) { row.push_back(c); } matrix.push_back(row); } // 結果確認 for ( auto& row : matrix ) { for ( auto& item : row ) { cout << item << " "; } cout << endl; } }
その他の回答 (1)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
#include <complex> #include <iostream> #include <fstream> int main( ) { using namespace std; complex <double> c; ifstream stream("complex.txt"); while ( stream >> c ) { cout << c << endl; } } /* 実行結果(Visual C++ 2012) (1.23,2.34) (2.34,3.45) (3.45,4.56) (4.56,5.67) (5.67,6.78) (6.78,7.89) */ > このファイルを読み込んで、複素数のvector(vector<complex<double> >)をつくりたいです。 getlineで一行ずつ読み、上記と同様。
補足
回答ありがとうございます。質問をまちがえてしまいました。1行目をvector<complex<double> > v1に入れ、2行目をvector<complex<double> > v2に入れるにはどうしたらよいでしょうか?
お礼
ありがとうございます。