Я пытаюсь прочитать частоту из файла, чтобы создать дерево хаффмана. Я могу это сделать, но есть проблема. Проблема в том, что я использую два for() loops i and j
и в том месте, где повторяется алфавит в этом месте, он показывает «0». Я имею в виду предположу, что алфавит "aababccc"
выход заключается в следующем:Частота повторяющихся алфавитов вычисляется неправильно
a=3,a=0,b=2,a=0,b=0,c=3,c=0,c=0
, но я хочу выхода быть таким:
a=3, b=2,c=3
Я имею в виду, я должен удалить эти нули из распределения памяти я сделал . (я храню их в симво [] и частота []) Пожалуйста, помогите мне в этом, что (любой язык с или с ++)
int flag[256];
int j = 0;
char sym[256];
int freq[256];
for (i = 0; i < count; i++)
flag[i] = {0};
int fcount1 = 0;
sym[i] = data[i].symbol;
freq[i] = fcount1;
fcount1 = 0;
}
}
Входная частота дается ему являются: abaab bcacaeeded которые хранятся в данных [индекс] .symbol И выход, соответствующий к нему:
Все правильно, кроме этих «0». Пожалуйста, помогите мне удалить эти «0».
Это неполный код справа? есть что-то выше этого кода тоже. Я прав? –
@DakshShah вот полный код. Спасибо за точку – Sss