[編集]
私はあなたが問題を提起しなかったため、あなたが試したことについて何も言わなかったし、何が失敗したのか、この回答であなたを助けているのか分かりません。
あなたの問題に対する解決策を見つけてくれるとは思ってもらえませんでした。興味があったので、ちょうど私の所見を掲載しました。
しかしこれがないこのフォーラムは動作するはず方法ですが、プログラミングの学習についてです、そしてあなただけしようとしても、今あなたが学ぶなくなるまで、あなたの思考プロセスが何であったかを説明せずにお願いします。
とにかく、これがインスピレーションを得た答えを読んでください。そこから学ぶべき重要な要素があります。
[/編集]
このコードは、あなたがC++の重要な概念を理解する助けになるはずですつまり、このanswer触発されています。
Explanation for the emplace_back vs push_back.
Explanation for the Range-based for loop: "for (auto i : collection)"
#include <vector>
#include <string>
#include <fstream>
#include <sstream>
#include <iterator>
#include <cassert>
#include <iostream>
int main()
{
std::vector< std::vector<double> > values;
std::ifstream ifs;
std::string line;
ifs.open("test.txt");
while(getline(ifs,line))
{
std::istringstream is(line);
std::vector<double> ns;
std::copy(std::istream_iterator<double>(is)
, std::istream_iterator<double>()
, std::back_inserter(ns));
assert(ns.size() > 1); //throw something
values.emplace_back(std::vector<double>(ns.begin(), ns.end()));
}
for (auto line : values)
{
for (auto value: line)
{
std::cout << value << " ";
}
std::cout << std::endl;
}
}
まず自分自身の努力の少しに入れて気にすることはできません人々を奨励しないでください。 –
私は知っていますが、なぜ私が答えを出したか説明する時間がありませんでした。 – vianney
ネストされたベクトルの宣言に2つの '>の間にスペースを入れてください。そうでなければ、' cin 'の' >> 'と間違えることがあります。 –