Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 420

Операция в качестве переменной

09.04.2021, 08:42. Показов 1576. Ответов 20

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
У меня один маленький вопрос. Как операцию использовать в качестве переменной?
Например, есть операции: + - * / % | & ^ !
C++
1
2
3
4
5
6
7
8
9
10
BYTE a, b, x, i, j;
for(i=0; i<=255; i++)
{
  for(j=0; j<=255; j++)
  {
    x = a "операция" b;
    if(x == 10)
      //Запись a, b, "операции" в файл
  }
}
Есть на примете один мазохистский способ решения - написать на ассемблере по каждой операции программки, потом вытянуть из них нужные опкоды и генерировать на С++ exe-файл.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.04.2021, 08:42
Ответы с готовыми решениями:

Использование файла в качестве переменной
Проблема вот в чем: Я в классе получаю дату в виде ч\м\с\дд\мм\гг , но мне ее надо как то надо сделать строкой... Я вот придумал взять...

Использование динамического массива в качестве переменной класса
Доброго времени. Подскажите пожалуйста возможно ли в классе объявить переменную типа int *a, затем в конструкторе инициализировать ее как...

Как создать функцию с именем файла в качестве переменной?
Прошу помочь. Есть файлы в каждом файле целые числа количество их не задано. Нужно создать функцию, выводящую на экран минимальное число из...

20
3 / 3 / 0
Регистрация: 10.06.2016
Сообщений: 420
09.04.2021, 20:45  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от TRam_ Посмотреть сообщение
Есть такое понятие, как "указатель на функцию". Вероятно именно он вам нужен.
Спасибо за подсказку. Вот что получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
BYTE E0(BYTE a, BYTE b){return a-b;}
BYTE E1(BYTE a, BYTE b){return a+b;}
BYTE E2(BYTE a, BYTE b){return a*b;}
BYTE E3(BYTE a, BYTE b){return a/b;}
BYTE E4(BYTE a, BYTE b){return a%b;}
BYTE E5(BYTE a, BYTE b){return a|b;}
BYTE E6(BYTE a, BYTE b){return a&b;}
BYTE E7(BYTE a, BYTE b){return a^b;}
 
//pF - указатель на функцию
typedef BYTE (*pF) (BYTE, BYTE);
 
//массив указателей на функции
pF EE[8]={E0, E1, E2, E3, E4, E5, E6, E7};
 
BYTE EEE(BYTE y1, BYTE y2, BYTE(*func)(BYTE, BYTE))
  {return func(y1, y2);}
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  ofstream to;
  to.open("123.txt", ios_base::out);
 
  BYTE a, b, x;
  short i, j, k;
  for(i=0,a=0; i<256; i++,a++)
  { for(j=0,b=0; j<256; j++,b++)
    { for(k=0; k<=7; k++)
      { if(b==0 && (k==3 || k==4))continue;
        x=EEE(a, b, EE[k]);
        if(x == 10)
        {      if(k==0)to<<(int)a<<" - "<<(int)b<<endl;
          else if(k==1)to<<(int)a<<" + "<<(int)b<<endl;
          else if(k==2)to<<(int)a<<" * "<<(int)b<<endl;
          else if(k==3)to<<(int)a<<" / "<<(int)b<<endl;
          else if(k==4)to<<(int)a<<" % "<<(int)b<<endl;
          else if(k==5)to<<(int)a<<" | "<<(int)b<<endl;
          else if(k==6)to<<(int)a<<" & "<<(int)b<<endl;
          else if(k==7)to<<(int)a<<" ^ "<<(int)b<<endl;
        }
      }
    }
  }
  to.close();
}
Работает великолепно и все варианты выводит в файл.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.04.2021, 20:45

Проверить слово на возможность его использования в качестве переменной
Была поставлена задача написать прогу, которая проверяет введеное слово из клавиатуры на возможность его использования в качестве...

Вопрос об использовании текстовой переменной в качестве имени объекта.
Привет! Пытюсь реализовать использовании переменной в качестве имени объекта - неполучается - поиск не рулит ))) помогите если не...

Содержимое переменной в качестве имени переменной
Подскажите пожалуйста возможно ли использовать содержимое строковой переменной (допустим str=&quot;TextView1&quot;) в качестве имени...

Лямбда выражение в качестве параметра метода. Как получить свойство с которым производится операция?
Добрый день! Нужно в методе принимать лямбду: obj.Get(x=&gt;x.ParentId==5); Как мне из этой лямбды в методе Get получить...

Объясните, почему операция (byte)i вместо ожидаемого значения -4 дала нам в качестве результата значение 252
Рассмотрим эту операцию на примере. static void Main() { int i = -4; byte j = 4; int a = (int)j; //преобразование без потери...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru