Zdravím, potřebuju porovnat dva řetězce (pole charů) ze vstupu (cin >> str1 >> str2) a před delší z nich vypsat jednu nulu a před kratší několik nul tak, aby byly oba řetězce stejně dlouhé. To se mi sice podařilo, ale za prvním řetězcem se vypisujou nějaké divné znaky a za nimi ještě ten druhý řetězec a nedokážu se jich zbavit. Kde tam mám chybu? Moc si nejsem jistý správností toho druhého cyklu for, ale druhý řetězec se narozdíl od prvního vypisuje přesně tak, jak chci. Potom mám v kódu ještě else, kde jsou jenom prohozené str1 a str2, ale tam se vypisují špatně oba řetězce.
if (strlen(str1) > strlen(str2))
{
rozdil = strlen(str1) - strlen(str2);
str01[0] = '0';
for (int k=1; k<strlen(str1)+1; k++)
{
str01[k] = str1[k-1];
}
while(j<=rozdil)
{
str02[j] = '0';
j++;
}
for (int l=rozdil+1, j=0; l<strlen(str1)+1, j<strlen(str1); l++, j++)
{
str02[l] = str2[j];
}
}