2 / 4
Mar 2019

Strasznie komplikujesz sobie drogę. Skoro używaj w kodzie std::string nie widzę powodu operowania na char* itp. Zrób funkcję przyjmującą dwa stringi:

#include <algorithm>
#include <iostream>
#include <string>

std::string string_merge(const std::string& first, const std::string& second)
{
	unsigned minSize = std::min(first.length(), second.length());
	std::string result(2 * minSize, ' '); // string o rozmiarze 2 * minSize wypełniony ' '
	for (unsigned i = 0u; i < minSize; ++i)
	{
		// ...
	}
	return result;
}

int main()
{
	unsigned t;
	std::cin >> t;
	for (unsigned i = 0; i < t; i++)
	{
		std::string a, b;
		std::cin >> a >> b;
		std::cout << string_merge(a, b) << "\n";
	}
}

Z zadania wiesz, że znaki 2 * i mają pochodzić z pierwszego łańcucha, a 2 * i + 1 z drugiego. Teraz wystarczy dopisać odpowiednie dwie linie kodu.