Поиск комбинации элементов в массиве - C (СИ)

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

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

Здравствуйте! Я в си совсем ничего практически не понимаю и прошу сильно не пинать если что-то буду называть не своими именами. В общем, друзья, нужно как-то проанализировать массив из цифр и букв и найти в нем определенную комбинацию(если это так называется). Например, нужно узнать содержит ли массив "4565F45LPZ0321DFF11230" кобинацию "45LPZ0321". Длина массива непостоянная, также у комбинации, которую нужно искать, нет постоянного места. Примеры массивов: 4565F45LPZ0321DFF11230 L02688D45LPZ0321RS00ERZ0321DFF1123 050003E102010064006500645LPZ0321E00270 Спасибо!

Решение задачи: «Поиск комбинации элементов в массиве»

textual
Листинг программы
int finder(char *line, int index, char *subline, int ln)
{
    int i;
    for (i = 0; i < ln; ++i)
        if (line[i+index] != subline[i]) return 0;
    return 1;
}

Объяснение кода листинга программы

В данном коде представлена функция с именем finder, которая выполняет поиск подстроки в строке. Список действий, выполняемых в функции:

  1. В первой строке объявлена функция finder с четырьмя аргументами: char line (строка, в которой нужно найти подстроку), int index (смещение, от которого нужно начать поиск в строке), char subline (подстрока, которую нужно найти) и int ln (длина подстроки).
  2. Внутри функции объявлена переменная i типа int со значением 0. Она используется для подсчёта количества символов в строке и подстроке.
  3. Далее, с помощью цикла for происходит сравнение каждого символа строки с соответствующим символом подстроки.
  4. Если найден хотя бы один символ, не совпадающий с символом подстроки, то функция возвращает 0. Это означает, что подстрока не найдена.
  5. Если все символы совпали, то функция возвращает 1. Это означает, что подстрока найдена. Таким образом, функция finder выполняет поиск подстроки в строке.

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


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

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

13   голосов , оценка 3.615 из 5
Похожие ответы