| 15.07.2010, 05:53 | |
|
Ответы с готовыми решениями:
1272
Элементарные программы, для лучшего понимания языка...
Литература для лучшего понимания сути программирования |
| 03.08.2010, 22:41 | |
|
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 03.08.2010, 22:42 | |
|
0
|
|
|
|
||||||
| 03.08.2010, 22:46 | ||||||
|
как вариант еще одно подобное извращение
0
|
||||||
|
|
||||||
| 03.08.2010, 22:47 | ||||||
|
Тогда задача на тему "хакерства" (с вышеобозначенной позиции). Данный код на некоторых компиляторах даёт разный результат в режиме с оптимизациями и без оптимизаций. Это означает, что код некорректный. В чём его некорректность?
0
|
||||||
|
|
|
| 03.08.2010, 23:50 | |
|
некорректность
По стандарту Си операция разности указателей (а может и вся поинтерная арифметика) определена только для указателей, смотрящих на один и тот же объект. Под словом "объект" здесь подразумевается то, что на бытовом уровне называется "переменная", а не "объект Си++". Как следствие итоговое значение delta с точки зрения стандарта undefined
На двух компиляторах с мощным контекстным анализатором и какими-то хитрыми аппаратными фичами тест отработал некорректно. Тест был немного в другом виде, но для простоты оставил таким. Что за компиляторы - толком не помню, ибо давно было. Но один из них вроде бы был Intel'овский компилятор для Itanium'а. Каким был второй компилятор - никак не вспомню.
5
|
|
|
|
||||||
| 04.08.2010, 00:06 | ||||||
|
получается, что такой к примеру код тоже не корректен?
0
|
||||||
|
|
|||||||
| 04.08.2010, 00:11 | |||||||
|
По поводу теста. Вспомнил, в чём там была проблема. Более "корректный" исходник выглядит так
Некорректность
В строках 13 и 14 имеются две операции обращения в память: запись по указателю *ptr и чтение глобальной переменной "b". С точки зрения стандарта получается, что эти два обращения в память независимы, поскольку запись делается в объект "a" (но по факту запись делается в объект "b"), а чтение объекта "b". У потому продвинутый компилятор операции чтения и записи может поменять местами (поскольку с точки зрения стандарта эти два обращения в память не конфликтуют между собой). Операции чтения из памяти как правило компиляторы ставят как можно раньше по исполнению (потому что обращение в память - медленная операция).
Добавлено через 1 минуту Добавлено через 1 минуту "Смотрят на один и тот же" наверно криво выразился. Скорее "смотрят вовнутрь одного и того же объекта"
4
|
|||||||
|
|
||
| 04.08.2010, 00:19 | ||
|
Слабенький анализатор на gcc видит запись по неизвестному указателю (поскольку адрес для записи вычисляется) и чтение конкретного объекта. Поскольку указатель может смотреть куда угодно, то он считает, что эти две операции могут конфликтовать и переставлять чтение и запись не будет. Если завтра не забуду, попробую на работе Sun'овский или Intel'овский компилятор толкнуть
2
|
||
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
|
| 04.08.2010, 09:15 | |
|
А вот ещё: Напишите программу, которая будет менять значения ТРЁХ переменных a, b и c (так что а(нов.)=/=а(стар.) b(нов.)=/=b(стар.) c(нов.)=/=c(стар.)) НЕ ИСПОЛЬЗУЯ ДОП. ПЕРЕМЕННЫХ.
Добавлено через 1 минуту Напишите программу умножения двух чисел ЛЮБЫМ способом. условие только одно - НИГДЕ не использовать оператор *.
0
|
|
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
|||||||||||||
| 04.08.2010, 10:27 | |||||||||||||
1
|
|||||||||||||
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
||||||
| 04.08.2010, 10:35 | ||||||
|
neske, вот решение на умножение без использования оператора *. ваши решения вполне подойдут, но вот моё:
я слышал что задачку также можно решить используя битовые операции, но я пока до этого не "дорос" если кто знает как, выложите плиз
1
|
||||||
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
||||||
| 04.08.2010, 10:36 | ||||||
|
Да, вы правы.
2
|
||||||
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
|
| 04.08.2010, 10:37 | |
|
neske, в принципе такая задачка уже была, но на две переменные, так что я ступил выложив её... если знаете что нить интересное, напишите пожалуйста...
1
|
|
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
|
| 04.08.2010, 10:40 | |
|
Не знаю, к сожалению.
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||||||
| 04.08.2010, 10:44 | |||||||
3
|
|||||||
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
|
| 04.08.2010, 10:46 | |
|
Nameless One, а чем отличается return EXIT_SUCCESS от return 0?
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||
| 04.08.2010, 10:48 | ||
|
3
|
||
| 04.08.2010, 10:48 | |
|
Набор задачь для тренировки и улучшения понимания программирования Проверить на правильность и закомментировать весь код для лучшего понимания Нужны задачи для тренировки
Нужны задачи для тренировки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|