Witam, nie wiem jak dzielić vektor w losowym miejscu. Proszę o pomoc.
Dokładnie chodzi o
mamy
2 9 84 9 5 6 25 12
2 98 56 2 54
5 2
8 5 22 5 48 6 1 9 8 7 554 25 235 32
bierzemy
*2 9 * 84 9 5 6 25 12
*8 5 22 5 48 6* 1 9 8 7 554 25 235 32
i dzielimy każdy osobno
*2 9* 1 9 8 7 554 25 235 32
*8 5 22 5 48 6 *84 9 5 6 25 12
Dane pobieram z pliku
po czym wpisuje je do vektora w strukturze
struct osobnik
{
std::vector<int> allel;
};
void wczytywanie()
{
std::ifstream plik;
plik.open("Chromosom.txt");
if (plik.good() == false) std::cout << "Plki jest umieszczony w zlym folderze, lub nie istnieje";
std::vector<osobnik> chromosom;
for (std::string line; getline(plik, line); std::cout << std::endl)
{
std::stringstream ss(line);
chromosom.emplace_back();
for (int temp; ss >> temp; std::cout << temp << ' ') chromosom.back().allel.push_back(temp);
}
plik.close();
osobnik x;
std::cout << "\n\nilosc elementow vektora : " << x.allel.size();
}
I jak mi wiadomo to każda linijka powinna zostać vektorem dzięki czemu będziemy mogli je dzielić i mieszać, ale nie wiem jak dzielić te vektory i mieszać. Proszę o wyjaśnienie jak to zrobić.