Поместить уникальные символы из одного массива в другой - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста, с логикой решения. Данный кусок кода должен копировать уникальные символы из Puzzle в Letters
Листинг программы
  1. int j, k, l;
  2. k = 1;
  3. Letters[0] = Puzzle[0]; //первый элемент перепишем
  4. for (l = 1; l < length; l++) {
  5. for (j = 0; j < length; j++) {
  6. if (Puzzle[l] == Letters[j]) //если l-тый элемент из Puzzle равен хоть одному из Letters, не делаем ничего
  7. break;
  8. else {
  9. Letters[k] = Puzzle[l]; //иначе присваиваем k-тому элементу Letters значение Puzzle[l]
  10. k++; //увеличиваем k
  11. }
  12. }
  13. }
Результат выполнения программы на скрине ниже. Первый символ действительно не повторяется, однако с последующими проблемы. Проблема, как мне видится, в else?..

Решение задачи: «Поместить уникальные символы из одного массива в другой»

textual
Листинг программы
  1. int j, k, l;
  2. k = 1;
  3. Letters[0] = Puzzle[0];     //первый элемент перепишем
  4. for (l = 1; l < length; l++)
  5. {
  6.     bool isFound = false;
  7.     for (j = 0; j < length; j++)
  8.     {
  9.         if (Puzzle[l] == Letters[j])        //если l-тый элемент из Puzzle равен хоть одному из Letters, не делаем ничего
  10.         {
  11.             isFound = true;
  12.             break;
  13.         }
  14.     }
  15.     if (!isFound)
  16.     {
  17.         Letters[k] = Puzzle[l];     //иначе присваиваем k-тому элементу Letters значение Puzzle[l]
  18.         k++;  
  19.     }
  20. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы