Поместить уникальные символы из одного массива в другой - 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++; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д