vector wczytywanie liczb wierszami po 3 liczby

0

mam do wczytania liczby do vectora w jednym wierszu sa 3 liczby oddzielone spacjami np.
0.022 0.10 2.120
133.0 1.0 22.0
probuje je wczytac do vectora tpyu float ale niestety zawsze wczytuje mi pierwsza liczbe z wiersza. Jest jescze jeden problem nieznana zgory liczba wierszy napisalem taki kod prosze o jakieś sugestie.

#include <iostream>
#include <vector>
#include <sstream>

using namespace std;

int main()
{
    vector <string> tab;
    vector <float> tab1;
    string line;
    float tmp;
    stringstream ss;
    int ilosc=1,sp=0;

   while(getline(cin,line).good() && !line.empty())
    {
        ss<<line;
        ss>>tmp;
        tab1.push_back(tmp);


    }




    return 0;
}
 
2
#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>

int main() {
  std::vector<float> foo;
  std::copy(std::istream_iterator<float>(std::cin), std::istream_iterator<float>(), std::back_inserter(foo));

  // albo tak
  std::vector<float> bar(std::istream_iterator<float>(std::cin), std::istream_iterator<float>());
  return 0;
}
1

o_O

   while(getline(cin,line).good() && !line.empty())
    {
        ss<<line;
        for(int i=0;i<3;i++){
            ss>>tmp;
            tab1.push_back(tmp);
        }
    }
1
#include <iostream>
#include <vector>
using namespace std;
 
int main()
  {
   vector<double> tab;
   for(double a,b,c;cin>>a>>b>>c;)
     {
      tab.push_back(a);
      tab.push_back(b);
      tab.push_back(c);
     }
    return 0;
  }

Z tym że prawie na 100% nie potrzebujesz gromadzić tych danych, ponieważ wszelakie sprawdzarki oddzielają wejście od wyjścia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1