if (strchr(a, '.') != NULL)
{
da = alen - (1 - (a - strchr(a, '.')));
for (long dd = alen - da - 1; dd < alen; dd++)
a[dd] = a[dd + 1];//прерывается здесь
alen -= 1;
}
if (strcmp(surname, en.surname) == 0)
{
if(en.meanMark==5)
{
....
}
}
Во второй половине массива содержится сопряжение первой половины (это свойство ДПФ). Обычно вторую половину отбрасывают, т.к. ее можно получить из первой (если понадобится сделать обратный ДПФ).