- Регистрация
- 16 Май 2023
- Сообщения
- 6
Я хочу сделать топы без массивов, но не знаю можно ли как-то закодить, хотя бы с костылями
почему?Я хочу сделать топы без массивов
костыльный вариант будет работать НАМНОГО хуже.хотя бы с костылями
можно, но это в 10 раз сложнееЯ хочу сделать топы без массивов, но не знаю можно ли как-то закодить, хотя бы с костылями
донат)почему?
пластмассовый мир победил.донат)
напомню, у текста лимит в 1024 байтну смотри. у нас всего есть три вида массивов:
массив
односвязный список
двусвязный список
односвязный и двусвязный список хранят ссылки на следующий элемент - они нам не подойдут; у нас просто негде хранить эти ссылки. Нам нужен массив обычный, последовательный. и нам нужен какой то разделитель элементов. предлагаю такой синтаксис
элемент|элемент|элемент
нужен ещё парсер. да все я придумал щас вот распишу схему
--------------------------------------------------------------------------------------------------------------------------------------------------
делаешь цикл или функцию с поиском по этой строке. в чем суть...
для начала инициализируешь массив. присваиваешь динамической переменной текстовое значение, которое будет первым элементом в массиве. название динам переменной МАССИВ.
Тебе нужно итерировать по каждой букве, пока не дойдешь до |. | будет нашим индексом в этом массиве. когда будешь писать код что то типа такого:
установить значение переменной(какая-то переменная1; индекс в массиве) -> запустить функцию(найтиЭлементВМассиве) -> дальше используешь где хочешь текстовую переменную "element"
----------------------------------------------------------------------------------------------------------------------------------------------------
теперь функция найтиЭлементВМассиве. она будет цикличная. в функции у тебя будет переменная число i и число seps(separators). ты делаешь типа
получить букву в строке по индексу(динам переменная МАССИВ, число i) -> добавить к строке букву(к строке "element"(это динам переменная) добавляешь букву которую получил по индексу) -> эту букву проверяешь если она равна | -> если равна { если seps == какая-то переменная1 -> если равна { удаляешь последнюю букву с переменной "element" } если не равна { seps + 1 -> и установить значение переменной ставишь в переменную "element" типа пустоту хз, крч удаляешь текст который добавил в эту динам переменную -> i + 1 -> повторить цикл } если не равна ниче не далаешь
такие дела что то такое для поиска в массиве. щас через пару минут перепишу чтобы красиво было
мало тебе что ли?напомню, у текста лимит в 1024 байт
я не знаю что это. в мое время такого не было.%var()%
ну и как ты это сделаешь нормально через переменные? а у меня решение автоматическое. прям щас переписывай на С и пользуйся.переменные
Теперь бы разобратсяну смотри. у нас всего есть три вида массивов:
массив
односвязный список
двусвязный список
односвязный и двусвязный список хранят ссылки на следующий элемент - они нам не подойдут; у нас просто негде хранить эти ссылки. Нам нужен массив обычный, последовательный. и нам нужен какой то разделитель элементов. предлагаю такой синтаксис
элемент|элемент|элемент
нужен ещё парсер. да все я придумал щас вот распишу схему
--------------------------------------------------------------------------------------------------------------------------------------------------
делаешь цикл или функцию с поиском по этой строке. в чем суть...
для начала инициализируешь массив. присваиваешь динамической переменной текстовое значение, которое будет первым элементом в массиве. название динам переменной МАССИВ.
Тебе нужно итерировать по каждой букве, пока не дойдешь до |. | будет нашим индексом в этом массиве. когда будешь писать код что то типа такого:
установить значение переменной(какая-то переменная1; индекс в массиве) -> запустить функцию(найтиЭлементВМассиве) -> дальше используешь где хочешь текстовую переменную "element"
----------------------------------------------------------------------------------------------------------------------------------------------------
теперь функция найтиЭлементВМассиве. она будет цикличная. в функции у тебя будет переменная число i и число seps(separators). ты делаешь типа
получить букву в строке по индексу(динам переменная МАССИВ, число i)
добавить к строке букву(к строке "element"(это динам переменная) добавляешь букву которую получил по индексу)
эту букву проверяешь если она равна |
если seps == какая-то переменная1
если равна
удаляешь последнюю букву с переменной "element"
если не равна
seps + 1
установить значение переменной("element" и пустота тип крч удаляешь текст)
i + 1
повторить функцию
переменнойтекста
символов. байт != символ, потому что символ может занимать от 1 до 4 байт
эхх, а раньше были технические кролики...лучше делать через переменные и %var()%