• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:c++ ファイルからの複素数の読み込み)

c++ファイルから複素数を読み込む方法

このQ&Aのポイント
  • c++でファイルから複素数を読み込む方法について教えてください。
  • ファイルには実部と虚部が書かれた複素数が記述されています。
  • 複素数のvectorを作成するためのソースコードや考え方を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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; } }

koun
質問者

お礼

ありがとうございます。

その他の回答 (1)

回答No.1

#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で一行ずつ読み、上記と同様。

koun
質問者

補足

回答ありがとうございます。質問をまちがえてしまいました。1行目をvector<complex<double> > v1に入れ、2行目をvector<complex<double> > v2に入れるにはどうしたらよいでしょうか?

関連するQ&A