| 15.07.2010, 05:53 | |
|
Ответы с готовыми решениями:
1272
Элементарные программы, для лучшего понимания языка...
Литература для лучшего понимания сути программирования |
| 27.07.2010, 15:42 | |
|
Не по теме: Nameless One, rangerx, из всего сказанного выше, я понял что макросы это целый раздел, и на форуме его вопроссами не выучешь. спасибо всем. я удаляюсь в дебри интернета в поисках книжки или статьи.
0
|
|
| 27.07.2010, 16:02 | ||||||
|
Не по теме: Можешь особо на них не заморачиваться, при разработке программ C/C++ писать макросы (по крайней мере мне) приходится не часто. В принципе, я использую только один макрос, который выводит приглашение для ввода переменной (выводит ее имя) и осуществляет этот ввод. Наиболее полезен он с матрицами и массивами:
2
|
||||||
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
|
| 27.07.2010, 16:44 | |
|
и последнее. где можно объявлять макросы?
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 27.07.2010, 16:49 [ТС] | ||||||
|
nikkka, Глобально.
1
|
||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 27.07.2010, 16:52 | |
|
Объявление макроса может быть где угодно, т.к. препроцессор обрабатывает твой исходный код еще до компиляции. После обработки препроцессором уже от самого макроса в твоей программе ничего не останется - препроцессор подставит тело макроса в нужные места.
Другое дело, я где-то слышал, что некоторые компиляторы требуют, чтобы директивы препроцессора начинались с начала строки Добавлено через 1 минуту Таким образом, можно объявить макрос хоть в теле функции main. Однако обычно макросы пишут после директив #include с целью повысить читаемость кода.
1
|
|
|
Мат в 32 хода
237 / 172 / 18
Регистрация: 10.09.2009
Сообщений: 1,096
|
|
| 27.07.2010, 16:59 | |
|
Nameless One, и потом, объявленный в функции макрос, будет локальным как и переменная, так?
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||||||||||
| 27.07.2010, 17:06 | |||||||||||
|
Макрос должен быть объявлен выше места своего использования, а вот в каком контексте он объявлен (в контексте функции, блока и т.д.) - не имеет значения. Например, следующая программа содержит ошибки:
1
|
|||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 27.07.2010, 18:20 [ТС] | |
|
rangerx, Немного недопонял по макросу foreach. Что конкретно он должен делать?
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|||||||||||||||||
| 27.07.2010, 18:34 | |||||||||||||||||
|
К примеру, псевдокод:
В STL есть алгоритм (не макрос!) for_each, который вызывает функцию для каждого элемента контейнера:
2
|
|||||||||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 27.07.2010, 18:36 [ТС] | |
|
Nameless One, Да. Спасибо. Ща попробую разобраться с работой макроса.
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||
| 27.07.2010, 18:38 | ||
|
А вот в BOOST foreach реализован уже как макрос:
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 27.07.2010, 18:53 [ТС] | ||||||
|
Только такое смог родить... Как foreach реализовать - не понял. Чтобы именно не по элементу массива считывать...
0
|
||||||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||||||
| 27.07.2010, 19:02 | ||||||
|
foreach должен не только выводить содержимое на экран. К примеру, твой макрос должен делать и такое:
Размер массива твой макрос должен считать сам. Подсказка: размер статического массива arr можно высчитать по формуле sizeof arr / sizeof *arr (размер всего массива в байтах разделить на размер одного элемента массива в байтах) Добавлено через 1 минуту Я уже видел решение этого макроса на форуме. По-моему, от того, кто эту задачку и задал. Если станет совсем невмоготу, могу дать ссылку Ну или сам товарищ поделится решением.
2
|
||||||
|
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
|
||||||||||||
| 27.07.2010, 19:05 | ||||||||||||
|
Многакода
answer.txt
Других решений не обнаружено
1
|
||||||||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 27.07.2010, 19:14 [ТС] | |
|
Nameless One, Сцылку в студию) А то никакого представления как реализовать сие через макрос
0
|
|
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
||
| 27.07.2010, 19:20 | ||
|
1
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 27.07.2010, 19:25 [ТС] | |
|
Nameless One, Вот это круто. Спасибо за ссыль!
0
|
|
|
373 / 287 / 97
Регистрация: 17.12.2009
Сообщений: 567
|
|
| 28.07.2010, 06:32 | |
|
никто не против математической задачи? )
вычитал в книжке "Конкретная математика" (Кнут в соавторстве с кем-то), решил минут за 40-60. вот она, Почти как в задаче о ханойской башне - есть три колышка слева A, посередине B и справа C. И есть несколько дисков, количеством n, все разного размера, нанизаны на колышек A пирамидкой. Задача: "Найдите кратчайшую последовательность перекладываний, перемещающих башню из n дисков с левого колышка A на правый колышек C, если прямой обмен дисками между A и C запрещен. (Каждое перекладывание должно производиться через средний колышек B. Больший диск нельзя класть на меньший.)" я написал программу которая выдает нечто вроде: AB CB BC BA BA - это последовательность перекладываний, например AB - значит перекладывание с колышка A на колышек B верхнего в пирамидке (которая на A) диска. Такая форма представления последовательности перекладываний позволяет однозначно определить что и куда перекладывать. предлагаю вам написать аналогичную программу, и привести математические обоснования, а потом и я свою выложу (она коротенькая, 26 строк).
0
|
|
|
701 / 573 / 59
Регистрация: 18.11.2008
Сообщений: 2,147
|
||
| 28.07.2010, 08:04 | ||
|
пара вопросов:
1) на колышек С диски надо сложить тоже пирамидой?
0
|
||
| 28.07.2010, 08:04 | |
|
Набор задачь для тренировки и улучшения понимания программирования Проверить на правильность и закомментировать весь код для лучшего понимания Нужны задачи для тренировки
Нужны задачи для тренировки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе.
Самым главным критерием для меня было создание паролей, в котором отсутствуют знаки: | 1 l I
Обработка содержит реквизиты:
-. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|
|
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него.
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952
Инструкция внутри.
https:/ / youtu. be/ VpfFZSUDGnQ. . .
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|