−8
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
Program print_numbers_twice;
Procedure give(p: pptrint);
begin
if pptrint(p^) <> nil then begin
give(pptrint(p^));
writeln((p-1)^)
end
end;
Procedure take;
var n: ptrint;
begin
if not SeekEof then begin
read(n);
take
end else begin
n := (pptrint(@n)+1)^;
give(pptrint(n));
give(pptrint(n))
end
end;
Begin
take
End.
На входе программа получает неизвестное заранее количество целых чисел, разделенных пробельными символами, а затем выводит их два раза в том же порядке по одному числу в строке.
Очень простая и короткая программа. Я думаю, вам не составит труда понять, как она работает. Пишите в комментариях!
Запостил: Threadwalker,
22 Декабря 2021
gEKA6PbCKuu_nemyx 22.12.2021 12:24 # 0
gEKA6PbCKuu_nemyx 22.12.2021 12:36 # 0
Целое размером с указатель, как ptrdiff_t в сишном <stddef.h>
Threadwalker 22.12.2021 12:38 # 0
В общем, это знаковое целое того же размера, что и указатель на текущей системе. Можешь сам прописать.
gEKA6PbCKuu_nemyx 22.12.2021 12:41 # 0
Threadwalker 22.12.2021 13:07 # 0
Soul_re@ver 22.12.2021 12:29 # +4
Threadwalker 22.12.2021 12:38 # 0
guest6 22.12.2021 12:53 # 0
Threadwalker 22.12.2021 15:14 # 0
guest6 22.12.2021 15:27 # +2
3.14159265 22.12.2021 16:06 # +1
CHayT 22.12.2021 16:15 # +6
CHayT 22.12.2021 16:10 # 0
Soul_re@ver 22.12.2021 16:11 # 0
gEKA6PbCKuu_nemyx 23.12.2021 07:34 # 0
Вот тут пахнет:
Набиваем стек, а потом его затираем введённым с консоли значением.
Threadwalker 23.12.2021 11:10 # 0
Steve_Brown 23.12.2021 14:00 # +4
bormand 24.12.2021 13:14 # 0
Именно поэтому я за FPO, чтобы у царей не было желания шариться по стеку.
guest6 24.12.2021 15:22 # 0
Теперь все собрано с указателем рамки
Soul_re@ver 24.12.2021 15:30 # +1
Какая cancel culture.
bormand 24.12.2021 15:34 # 0
Пруф?
guest6 24.12.2021 16:01 # 0
Ты ведь можешь сам это проверить как-то взяв MSную dllку?
bormand 24.12.2021 16:31 # 0
guest6 24.12.2021 16:37 # 0
А нахуй он там? Там же регистров как у дурака фантиков
bormand 24.12.2021 16:41 # 0
А тут писать на стек сраный rbp, который кроме отладчика (без символов) да аллоки никто не юзает. Вот и выбросили.
guest6 24.12.2021 18:14 # +1
2. Мы научилось адресовать их от SP, BP заюзаем под что-то другое
3. У нас стало больше регистров, давайте опять юзать BP
4. Зачем нам BP? Давайте от него откажаемся
[вы находитесь здесь]
Алсо, если я пишу асм руками, то наверное я хочу frame pointer, иначе отступы будут неочивидны? Или современные асмы все за меня посчитают?
bormand 24.12.2021 18:20 # 0
Возможно какой-нибудь fasm и умеет об rsp считать... Но маловероятно т.к. ему придётся понимать инструкции, а не тупо их конпелять.
guest6 24.12.2021 18:24 # 0
bormand 24.12.2021 18:25 # 0
Да хуй с ними, с переменными, они на х64 обычно все в регистрах...
Проблема в том, что любой пуш и у тебя rsp поехал.
> BP
А может я хочу об rdi базироваться? Или об r11.
guest6 24.12.2021 18:29 # 0
А зачем тогда тебе что-то пушать тогда? Чтобы кольнуть 32х битное говно?
>об rdi
чтобы запутать того, кто будет без символов пытаться стек вызовов понять?
bormand 24.12.2021 18:31 # 0
Ну например чтобы callee-saved регистр начать юзать.
> зачем
Для самовыражения и уникальности.
guest6 24.12.2021 18:36 # 0
а, типа ты папин регистр припрятал, поюзал, и вернул обратно, да?
чото я сразу не сообразил, так же обычно всегда и делали. были даже ПУША и ПОПА для этого.
>Для самовыражения и уникальности.
чувак, ты пишешь на асме в 2021, ты и так уникален
bormand 24.12.2021 18:34 # 0
16, лол.
З.Ы. И это не шутка.
guest6 24.12.2021 18:37 # 0
или у тебя 16bit protected, как в 286/win3.11?
И зачем? Биосы железок дергать?
bormand 24.12.2021 18:39 # 0
> бивисы
Угу. Легаси-хуегаси.
guest6 24.12.2021 18:49 # 0
Useless fact: в двойках нельзя было вернуться из протектд режима в реальный никак кроме колд ресета. Я у Гука читал.
Но в тройке уже починили
ObeseYoung 24.12.2021 22:17 # 0
Floating_cockerel 24.12.2021 13:15 # 0
bormand 24.12.2021 13:18 # 0
Threadwalker 22.12.2021 16:13 # 0
JloJle4Ka 22.12.2021 16:17 # 0
1024-- 22.12.2021 17:01 # +4
CHayT 22.12.2021 17:17 # +1
guest6 22.12.2021 17:21 # +1
Я люблю руби читать
Floating_cockerel 22.12.2021 19:35 # −1
ХУЯ хуюблю хуюби хуитать
Support 22.12.2021 19:57 # 0
Поубивал бы.
Threadwalker 23.12.2021 07:10 # 0
ASD_77 23.12.2021 15:00 # 0
JloJle4Ka 23.12.2021 15:13 # −3
Support 23.12.2021 17:26 # 0
Steve_Brown 22.12.2021 20:31 # 0
- Покажи.
- ...
- Ты больной ублюдок.
j123123 22.12.2021 23:25 # 0
guest6 23.12.2021 03:16 # 0
CHayT 23.12.2021 03:23 # 0
https://blogs.gentoo.org/mgorny/2021/11/07/the-future-of-python-build-systems-and-gentoo/
CHayT 23.12.2021 03:41 # +3
Она конечно же сломалась, и утащила за собой load-balancer'ы в проде. Помогать чинить это говно я конечно им не стала.
Сисадмин питонист — горе в семье.
gEKA6PbCKuu_nemyx 23.12.2021 05:17 # +2
guest6 23.12.2021 14:29 # +2
bormand 24.12.2021 13:02 # 0
CI на ПХП
guest6 24.12.2021 16:05 # 0
Разные культуры развиваются с разной скоростью. У кого-то компьютеры, а у бушменов мезолит.
Пыхеры только-только юнит-тесты освоили, лет через двадцать и до CI доберутся
guest6 23.12.2021 14:24 # +1
Support 23.12.2021 17:25 # 0
Threadwalker 24.12.2021 08:24 # 0
guest6 24.12.2021 09:31 # −2
JloJle4Ka 24.12.2021 09:34 # −3
Floating_cockerel 24.12.2021 09:39 # −3
ObeseYoung 24.12.2021 12:39 # −2
Support 24.12.2021 10:36 # 0
Честно говоря, не совсем понятно, почему идет инкремент указателя на единицу; чтобы выполнить условие, когда список уже EOF?
Threadwalker 24.12.2021 12:43 # 0
Floating_cockerel 24.12.2021 09:37 # 0
Threadwalker 24.12.2021 12:39 # 0
Floating_cockerel 24.12.2021 13:06 # 0
Threadwalker 24.12.2021 13:51 # 0
Floating_cockerel 24.12.2021 13:57 # 0
Threadwalker 24.12.2021 14:04 # 0
Если правильно — сам думай, программа на то и написана. Если нет — ну значит я ошибся где-то.
Threadwalker 24.12.2021 14:44 # 0
ISO 24.12.2021 13:04 # +1
То ли дело «Python»:
gEKA6PbCKuu_nemyx 24.12.2021 13:11 # +1
Threadwalker 24.12.2021 13:54 # 0
1024-- 24.12.2021 16:27 # 0
То ли дело «Python»:
Прости, Царь, за дублирование дублирование массива.
ISO 24.12.2021 22:18 # +1
Условиям оригинальной задачи первый коммент не соответствует — в нём числа надо вводить по одному на строку, а не через любые пробельные символы — но да ладно, раз уж начали так, то похуй.
ISO 24.12.2021 22:19 # +3
bormand 24.12.2021 22:38 # +1
ISO 24.12.2021 23:39 # +3
Soul_re@ver 24.12.2021 23:59 # +1
Надо ещё split сделать.
И зачем в инт переводить?
ISO 25.12.2021 00:07 # +1
Об этом я в примечании выше написал. Лень ебаться с этими вашими сплитами (надо не просто сплит, а сплит по \s: «Питон» соснул).
> И зачем в инт переводить?
Для коньсистентности.
Soul_re@ver 25.12.2021 00:12 # +2
https://ideone.com/b3WFU4
ISO 25.12.2021 00:17 # +1
> None (the default value) means split according to any whitespace,
> and discard empty strings from the result.
guest6 15.02.2023 23:30 # 0
нет, не похуй
Floating_cockerel 24.12.2021 13:24 # 0
bormand 24.12.2021 13:28 # 0
JloJle4Ka 24.12.2021 13:32 # −1
Floating_cockerel 24.12.2021 13:37 # −1
JloJle4Ka 24.12.2021 13:37 # −1
Floating_cockerel 24.12.2021 13:41 # −1
JloJle4Ka 24.12.2021 13:44 # −1
Soul_re@ver 24.12.2021 13:56 # +2
* Отключить интернет во время установки.
* Установочный путь не должен содержать пробелов.
* Собирать только GCC 3.4.6 с этими флагами и никакими другими.
* Устанавливать можно только на диск C.
* В региональных настройках необходимо поставить десятичным разделителем точку.
* В настройках рабочего стола включите Aeroю
* Программу нужно запускать от администратора.
* Шиндовс должен стоять исключительно в С:\Windows.
¿
Floating_cockerel 24.12.2021 13:59 # +1
JloJle4Ka 24.12.2021 14:00 # −2
Threadwalker 24.12.2021 14:06 # +1
Floating_cockerel 24.12.2021 14:14 # 0
gEKA6PbCKuu_nemyx 24.12.2021 16:47 # +1
Сейчас и вирусов-то почти нет. Кругом только трояны.
bormand 24.12.2021 16:49 # −1
Да и по сигнатурам они известных троянов вполне так выпиливают.
gEKA6PbCKuu_nemyx 24.12.2021 16:51 # −2
bormand 24.12.2021 16:52 # −2
guest6 24.12.2021 17:18 # 0
bormand 24.12.2021 18:02 # 0
Что ещё нужно не забыть?
guest6 24.12.2021 18:05 # +1
Но просто прыщи можно выстаавить в Инет без файра, им ничего не будет, а у винды анонимные петухи уже через пару минут начнут щупать твои пайпы через SMB
guest6 24.12.2021 17:22 # 0
Прыши:
винда
Пирдолинг заказываои?
JlAKOMKA 24.12.2021 20:16 # 0
700 кровных - на ветер. Коробка до сих пор где-то валяется.
JlAKOMKA 24.12.2021 20:06 # 0
В одной очень серьезной проге на которой сидит вся отчетность России используется indy, COM и прочие устаревшие технологии. Прога эта стоит охулион рублей.
В доке черным по белому писано:
Для работы приложения требуется отключить антивирус, файерволл и брандмауэр.
На делфи, кстати.
Support 04.06.2022 01:52 # 0
bormand 24.12.2021 14:30 # 0
Floating_cockerel 24.12.2021 13:56 # 0
Taaaaaake meeeee oooooooon
I'll beeeee goooone
In a d
Segmentation fault
Threadwalker 24.12.2021 14:07 # 0
Floating_cockerel 24.12.2021 14:10 # 0
Threadwalker 24.12.2021 14:23 # −1
Отдельный счётчик не нужен.
Rooster 24.12.2021 14:25 # 0
bormand 24.12.2021 14:33 # +1
Soul_re@ver 24.12.2021 14:49 # 0
* Отключить интернет во время установки.
* Установочный путь не должен содержать пробелов.
* Собирать только GCC 3.4.6 с этими флагами и никакими другими.
* Устанавливать можно только на диск C.
* В региональных настройках необходимо поставить десятичным разделителем точку.
* В настройках рабочего стола включите Aeroю
* Программу нужно запускать от администратора.
* Шиндовс должен стоять исключительно в С:\Windows.
* Вызывать только из main.
* Не засирать стек посторонними данными.
bormand 24.12.2021 14:50 # 0
Мутабельных литералов захотелось? Или что там закопали в том районе?
bormand 24.12.2021 14:51 # +2
gEKA6PbCKuu_nemyx 24.12.2021 15:14 # +2
guest6 24.12.2021 15:06 # +2
bormand 24.12.2021 16:36 # 0
guest6 24.12.2021 16:38 # 0
bormand 24.12.2021 16:53 # 0
guest6 24.12.2021 17:25 # 0
Вообще хуевый, негативный вызов. Лучше им не пользоваться
bormand 24.12.2021 18:01 # 0
Почему? Джве функции подряд не так сложно написать...
guest6 24.12.2021 18:34 # 0
Поскоку теперь у всех (кроме j123123) есть MMU и COW (ха-ха, я родил каламбур) то смысла в вфорке мало
Threadwalker 24.12.2021 14:47 # 0
Floating_cockerel 24.12.2021 14:13 # +1
Threadwalker 24.12.2021 14:24 # +1
Rooster 24.12.2021 14:25 # +2
JloJle4Ka 24.12.2021 14:38 # +3
— перепрыщи
Threadwalker 24.12.2021 14:48 # 0
bormand 24.12.2021 14:44 # 0
Ну такое... Царские Лямбды тоже работали в конкретных условиях на конкретном конпеляторе. Очень тонкий лёд.
guest6 24.12.2021 14:51 # +1
мы вам перезвоним
bormand 24.12.2021 14:52 # +1
Rooster 24.12.2021 15:19 # 0
Да, надо было в инт кастить
BAJlEHOK 25.12.2021 11:23 # 0
OMuKPOH 26.12.2021 00:05 # 0
guest6 24.12.2021 14:49 # 0
guest6 24.12.2021 18:07 # 0