Поместить уникальные символы из одного массива в другой - C (СИ)
Формулировка задачи:
Помогите, пожалуйста, с логикой решения.
Данный кусок кода должен копировать уникальные символы из Puzzle в Letters
Результат выполнения программы на скрине ниже. Первый символ действительно не повторяется, однако с последующими проблемы.
Проблема, как мне видится, в else?..
int j, k, l;
k = 1;
Letters[0] = Puzzle[0]; //первый элемент перепишем
for (l = 1; l < length; l++) {
for (j = 0; j < length; j++) {
if (Puzzle[l] == Letters[j]) //если l-тый элемент из Puzzle равен хоть одному из Letters, не делаем ничего
break;
else {
Letters[k] = Puzzle[l]; //иначе присваиваем k-тому элементу Letters значение Puzzle[l]
k++; //увеличиваем k
}
}
}Решение задачи: «Поместить уникальные символы из одного массива в другой»
textual
Листинг программы
int j, k, l;
k = 1;
Letters[0] = Puzzle[0]; //первый элемент перепишем
for (l = 1; l < length; l++)
{
bool isFound = false;
for (j = 0; j < length; j++)
{
if (Puzzle[l] == Letters[j]) //если l-тый элемент из Puzzle равен хоть одному из Letters, не делаем ничего
{
isFound = true;
break;
}
}
if (!isFound)
{
Letters[k] = Puzzle[l]; //иначе присваиваем k-тому элементу Letters значение Puzzle[l]
k++;
}
}