Возможно ли?

miha1l_YT_

Участник
Регистрация
16 Май 2023
Сообщения
4
Я хочу сделать топы без массивов, но не знаю можно ли как-то закодить, хотя бы с костылями
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
604

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
370

maxim34a

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

Mee8YT

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

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
604
напомню, у текста лимит в 1024 байт
мало тебе что ли?
я не знаю что это. в мое время такого не было.
ну и как ты это сделаешь нормально через переменные? а у меня решение автоматическое. прям щас переписывай на С и пользуйся.
 
Сверху