Показано с 1 по 8 из 8

Тема: Удаление элемента в массиве

  1. #1

    Question Удаление элемента в массиве

    Здравствуйте, поскажите как удалить элемент в массиве? Codesys 3.5

  2. #2

    По умолчанию

    Если в общем виде - то так же, как и в любом другом языке программирования: в цикле скопировать СЛЕДУЮЩИЕ элементы со сдвигом на место удалённого.
    В одном из своих проектов (у меня там было накопление данных и вычисление среднего) я сделал удобнее для себя: у меня был массив структур, в которых были и данные и BOOL-поле "Valid" (данные верные). И вместо удаления данных я выставлял Valid = FALSE, и не обрабатывал эти данные.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  3. #3
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    из массива без телодвижений копирования удалять никак, вроде ни в одном языке.
    а есть в ST аналоги List или Dictionary ?

  4. #4
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    ... есть в ST аналоги List или Dictionary ?
    Сложно сделать ?

    из массива без телодвижений копирования
    Список перебрать придется. Чудес не бывает.
    Если задача критичная ко времени - то только оптимизация и/или гибридизация массивов/списков под конкретную задачу.

  5. #5
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    Валенок зная список, из него можно удалять по индексу, зачем перебирать?

  6. #6
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    melky, чистый список не предполагает индексации, только цепочка указателей. Или гибрид?

  7. #7
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,669

    По умолчанию

    Валенок я про List в языках программирования, там можно удалить ячейку по индексу, в ST так понимаю аналога нет.

  8. #8
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Melky"там можно удалить ячейку по индексу,"
    Там внизу сдвиг массива и/или перебор указателей. А всякие property именуемые "index" иногда несколько тяжелые функции.

    в ST так понимаю аналога нет.
    Нет. Но так же нет никаких проблем сделать список если какой-то алгоритм удобней именно со списком.

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 16.04.2020, 13:35
  2. Как сделать карту входов выходов в массиве.
    от Serhioromano в разделе ПЛК1хх [М02]
    Ответов: 11
    Последнее сообщение: 12.03.2019, 12:21
  3. Ответов: 2
    Последнее сообщение: 22.09.2014, 09:08
  4. Удаление sms
    от Evgen818 в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 13.07.2010, 14:58
  5. Ответов: 3
    Последнее сообщение: 28.08.2008, 19:34

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •