Witam,
cały czas wyświetla mi błąd wykonania (SIGABRT). Czy ktoś mógłby pomóc?
#include <iostream>
using namespace std;
#define T_SIZE 1001
char* string_merge(char *, char *);
int main()
{
int t,n;
char S1[T_SIZE], S2[T_SIZE], *S;
cin >> t; /* wczytaj liczbę testów */ cin.getline(S1,T_SIZE);
while(t)
{
cin>>S1>>S2;
S=string_merge(S1,S2);
cout << S << endl;
delete[] S;
t--;
}
return 0;
}
char* string_merge(char * wskaznik1, char * wskaznik2)
{
int dlugosc1, dlugosc2 = 0;
for(int i=0; wskaznik1[i]!='\0'; i++)
dlugosc1++;
for(int i=0; wskaznik2[i]!='\0'; i++)
dlugosc2++;
int wartosc;
if(dlugosc1>dlugosc2) wartosc = dlugosc2;
else wartosc = dlugosc1;
char * nowy_znak;
nowy_znak = new char [2*wartosc];
int index = 0;
for(int i=0; i<wartosc; i++)
{
nowy_znak [index] = wskaznik1[i];
index++;
nowy_znak [index] = wskaznik2[i];
index++;
}
nowy_znak[index] = '\0';
return nowy_znak;
}