Я пытаюсь сохранить один из трех случайных операторов (+ или - или объединить предыдущие и последующие записи в списке) в массиве, а затем вызвать его обратно для выполнения операции.В конечном итоге я хочу, чтобы программа могла добавлять, вычитать или комбинировать список целых чисел с помощью случайного оператора и возвращать сумму, но сейчас я просто хотела бы решить проблему хранения и вызова "+" и«-» в массиве.
Я создал рандомизатор, который выводит 0, 1 или 2. В зависимости от вывода рандомизатора он устанавливает запись в моем массиве равной строке "+"," - "или" _ "(для комбайна).Затем я устанавливаю переменную, которая хранит строку в виде целого числа (список чисел в моем массиве - это строки, именно поэтому я и сделал это в первую очередь), который, конечно, не работает с «+», «-", или же " _".Я сейчас полностью застрял и не могу понять, что делать.
#include <iostream>
#include <string>
std::string oldlist[17];
int operationrandomizer;
int total;
std::string plus;
std::string minus;
std::string combine;
int oldlistint0;
int oldlistint1;
int oldlistint2;
int newlistint;
int main() {
srand((unsigned)time(0));
plus = "+";
minus = "-";
combine = "_";
operationrandomizer = (rand()%3);
if (operationrandomizer == 0) {
oldlist[1] = combine;
}
else if (operationrandomizer == 1) {
oldlist[1] = plus;
}
else if (operationrandomizer == 2) {
oldlist[1] = minus;
}
oldlist[0] = "1";
oldlist[1];
oldlist[2] = "2";
oldlistint0 = stoi(oldlist[0]);
// oldlistint1 = stoi(oldlist[1]); // cant convert "+" to an int bc + has no int value
oldlistint2 = stoi(oldlist[2]);
total = oldlistint0 + oldlistint1 + oldlistint2;
std::cout << total << "\n";
return 0;
}
Я относительно уверен, что рандомизатор и массив работают нормально.Мне просто нужен способ сохранить оператор в массиве, а затем вытащить его обратно.