Witam mam zadane dwa posortowane rosnaco wektory i mam napisac funkcje, ktora polaczy te dwa wektory do nowego wektora.
I wpadlem na taki pomysl:
vector<int>dwawekty(vector<int>pierwszy, vector<int>drugi)
{
vector<int>trzeci;
int i = 0;
int j = 0;
for (int k = 0; k < pierwszy.size() + drugi.size(); ++k)
{
if(pierwszy[i]<drugi[j])
{
trzeci.push_back(pierwszy[i]);
i = i + 1;
continue;
}
else if (drugi[j] < pierwszy[i])
{
trzeci.push_back(drugi[j]);
j = j + 1;
}
}
return trzeci;
}
int main()
{
vector<int>pierwszy = { 2,4,6,8,15,17,20 };
vector<int>drugi = { 3,5,8,9,22,50 };
vector<int>trzeci = dwawekty(pierwszy, drugi);
for (int i = 0; i < trzeci.size(); ++i)
{
cout << trzeci[i] << "\t";
}
}
Kilka pierwszych liczb sie wypisuje poprawnie, a potem juz nic.