Форум программистов, компьютерный форум CyberForum.ru

Дана строка. Поменять местами первое слово со вторым, третье с четвертым и т.д. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Изменение значений в Grid View http://www.cyberforum.ru/cpp-beginners/thread196780.html
Grid View заполнен значениями различных массивов. Когда окно в рабочем состоянии в Grid View можно изменять значения в ячейках. Хочу сделать, чтобы значения также изменялись в массиве, примерно так: C=gridView->Value; Вопрос: в каком событии Grid View это нужно записывать? Заранее спасибо.
C++ Данные трокового типа(string).Криптография Придумать и описать свой способ кодирования текста. Составить простую программу для введения текста (данное типа string до 255 символов), его кодирования и вывода результата. http://www.cyberforum.ru/cpp-beginners/thread196742.html
C++ Работа с файлами
Есть файл file.txt и он содержит 3 числа, розделенных пробелом, например, 3 2 0.1 Как считать информацию с файла и записать эти числа в отдельные переменные или масив? Спасибо!!!
Одномерный массив C++
В одномерном массиве, состоящем из п целых элементов, вычислить: 1) номер максимального элемента массива; 2) произведение элементов массива, расположенных между первым и вторым нулевыми элементами. Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечетных позициях, а во второй половине — элементы, стоявшие в четных позициях. я что смог...
C++ Смысл выражения x%2 http://www.cyberforum.ru/cpp-beginners/thread196705.html
Здравствуйте. Помогите разобраться с кодом. Я только начинаю изучать C++. Просматриваю примеры кодов из раздела "Задача для лучшего понимания" форума. Вопрос следующий: что означает строка if(!(x%2)) в примере int x=1; while(++x<10) { if(!(x%2)) continue; if(!(x%2)) break; } cout << x << endl;
C++ факториал макс. числа Добрый день! очень нужно написать программу подсчета факториала максимального числа в рандомном массиве из 100 чисел на Си!! Помогите, пожалуйста! Буду ооочень признательна =) подробнее

Показать сообщение отдельно
kaffein
 Аватар для kaffein
5 / 5 / 1
Регистрация: 14.11.2010
Сообщений: 121
25.11.2010, 23:26     Дана строка. Поменять местами первое слово со вторым, третье с четвертым и т.д.
Макропідстановки


Макропідстановки реалізуються директивою #define, яка має наступний синтаксис:
#define <ідентифікатор> <текст>
#define <ідентифікатор>(<список параметрів>) <текст>
Директива # define замінює всі входження <ідентифікатора> у вихідному файлі на
<текст>, наступний в директиві за <ідентифікатором>. Цей процес називається
макропідстановкою. <Ідентифікатор> замінюється лише в тому випадку, якщо він являє
собою окрему лексему. Наприклад, якщо <ідентифікатор> є частиною рядка або більш
довгого ідентифікатора, він не замінюється.
<Текст> являє собою набір лексем, таких як ключові слова, константи, ідентифікатори
або вираз. Один або більше пробільних символів повинні відокремлювати <текст> від
<ідентифікатора> (або від укладених в дужки параметрів). Якщо <текст> не вміщується на
один рядок, то він може бути продовжений на наступному рядку, для цього слід набрати в
кінці рядка символ «\» (зворотний слеш) і одразу за ним натиснути клавішу «Enter».
<Текст> може бути опущений. У цьому випадку всі екземпляри <ідентифікатора>
будуть вилучені з вихідного тексту програми. Тим не менше, сам <ідентифікатор>
розглядається як правильно визначений.
<Список параметрів>, якщо він вказаний, містить один або більше ідентифікаторів,
розділених комами, та повинен бути в середині в круглих дужок. Ідентифікатори у списку
повинні відрізнятися один від одного. Їх область дії обмежена макровизначенням, в якому
вони задані. Імена формальних параметрів <тексті> відзначають позиції, в які повинні бути
підставлені фактичні аргументи макровиклику.
У макровиклик слідом за <ідентифікатором> записується в круглих дужках список
фактичних аргументів, що відповідають формальним параметрам з <список параметрів>.
Списки фактичних та формальних параметрів повинні містити одну й те ж кількість елементів.
Не слід плутати підстановки аргументів на макровизначення з передачею аргументів
функції. Підстановки в препроцесор носить чисто текстовий характер. Ніяких обчислень
або перетворень типу при цьому не проводиться.
Після того, як виконана макропідстановка, отриманий рядок знову проглядається для
пошуку інших імен макровизначень. При повторному перегляді не приймається до розгляду
ім'я раніше виробленої макропідстановки. Тому директива #define x x не призведе до за
циклювання препроцесора.
Приклади
#define N 100
#define MULT(a, b) ((a) * (b))
#define MAX(x, y) ((x) > (y)) ? (x) : (y)
Макровиклик MULT (x + y, z) буде замінено на ((x + y) * (z)). При відсутності внутрішніх
дужок вийшло б (x + y * z), що невірно.
Макровиклик MAX (i, a [i + +]) замінити на ((i)> (a [i ++]))? (i): (a [i ++])). Результат
обчислення непередбачуваний.
У директиві #define дві лексеми можуть бути «заклеєно» разом. Для цього їх потрібно
об'єднати знаками ## (Зліва і з права допустимі пробіли). Препроцесор об'єднує такі лексеми
в одну. Наприклад, макровизначення #define VAR (i, j) i ## j при макроклиці VAR (x, 6) утворює
ідентифікатор x6.
Символ #, що поміщаються перед аргументом макровизначення, вказує на
необхідність перетворення його в символьне рядок. При макровиклиці конструкція
#<формальний параметр> замінюється на "<фактичний параметр>".
 
Текущее время: 21:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru