Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <sstream>
- using namespace std;
- stringstream str;
- double q = 0.2;
- double p = 0.9;
- int n = 12;
- int counterLB = 0;
- int counterRB = 0;
- void generatorLB() {
- if (rand() < p * RAND_MAX) {
- str << "(";
- counterLB++;
- }
- }
- void generatorRB() {
- if (rand() < q * RAND_MAX) {
- str << ")";
- counterRB++;
- }
- }
- void generatorOp() {
- int op = rand() % 4;
- switch (op) {
- case 0:
- str << "+";
- break;
- case 1:
- str << "-";
- break;
- case 2:
- str << "*";
- break;
- case 3:
- str << "/";
- break;
- }
- }
- void generate() {
- int cnt = 0;
- str << "x"; str << (cnt + 1);
- cnt++;
- while (cnt != n)
- {
- generatorOp();
- generatorLB();
- str << "x"; str << (cnt + 1);
- cnt++;
- if (counterLB != 0)
- generatorRB();
- }
- while (counterLB>counterRB) generatorRB();
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- generate();
- cout << str.str();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement