
c++でファイルから複素数を読み込みたいのですが、方法が思いつきません。
ファイルには以下のような形式で複素数が書かれているとします。
------------------------------------------------------------------------
(1.23,2.34) (2.34,3.45) (3.45,4.56)
(4.56,5.67) (5.67,6.78) (6.78, 7.89)
・・・・・
------------------------------------------------------------------------
かっこの左側が実部で右側が虚部で、1つのかっこが1つの複素数をあらわしています。
このファイルを読み込んで、複素数のvector(vector<complex<double> >)をつくりたいです。
簡単なソース、または考え方をおしえていただけると助かります。
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;
}
}
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で一行ずつ読み、上記と同様。
この回答への補足
回答ありがとうございます。質問をまちがえてしまいました。1行目をvector<complex<double> > v1に入れ、2行目をvector<complex<double> > v2に入れるにはどうしたらよいでしょうか?
補足日時:2013/02/13 22:32お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
空ENTERの判別
-
なぜ、C++の標準ヘッダをインク...
-
enumの値から定義名を文字列化...
-
c++のvirtual関数および継承に...
-
std::map の const 修飾について
-
Haru PDF Library
-
JPEGやPNGが読めるLoadImage関数
-
VxWorks 6.4ソケット接続につい...
-
PICでダイナミック点灯 なぜか...
-
switch文のエラーについて
-
C++で、テキストファイルを一行...
-
std::wstringのメモリリークに...
-
最早開始時間と最遅完了時刻を...
-
Aの値からBの値を除するとは??
-
信頼区間の1.96や1.65ってどこ...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 エラーの原因がわからな...
-
値差の%計算方法について
-
数字以外が入力されたらエラー...
-
「Aに対するBの割合」と「Aに対...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VC++で文字列から任意の文字を...
-
C++でShowCursorを使いたい。
-
enumの値から定義名を文字列化...
-
空ENTERの判別
-
VxWorks 6.4ソケット接続につい...
-
C++で、テキストファイルを一行...
-
switch文のエラーについて
-
_tcscat がうまくいきません(V...
-
C言語からgnuplot呼び出し
-
C言語のエラーを修正したい
-
std::map の const 修飾について
-
なぜ、C++の標準ヘッダをインク...
-
vc++の使い方について
-
gccでコンパイル時のエラー
-
このプログラミング誰か教えて...
-
STLでポインタのリストをsort()...
-
構造体配列のvectorへの変換と...
-
#defineの使い方について
-
#define中の#のエスケープ
-
リモートデスクトップの接続元I...
おすすめ情報