sasha33427
19.01.2020 00:16

Можете расписать действия в коде

#include
#include
using namespace std;

class calc
{
protected:
int sum;
void action(int a, string sign, int b)
{
if(sign == "+")
sum = a + b;
if(sign == "*")
sum = a * b;
if(sign == "-")
sum = a - b;
if(sign == "%")
sum = a % b;
}
};

class ex : public calc
{
protected:
int a, b;
string sign;
public:
void signal_1(int a)
{
this->a = a;
}
void signal_2(string sign)
{
this->sign = sign;
}
void signal_3(int b)
{
this->b = b;
action(a, sign, b);
signal_4();
}
void signal_4()
{
outt();
this-> a = sum;
}
void outt()
{
cout << a << ' '<< sign << ' ' << b << " = "<< sum;
}
};

string take_symb(string s, int &i)
{
string buf;

buf = "";
i = 0;
while (s[i] != ' ')
{
buf += s[i];
i++;
}
return buf;
}

int main(void)
{
string s;
ex exp;
int i = 0;
getline(cin, s);

exp.signal_1(stoi(take_symb(s, i)));
s.erase(0, i + 1);
while (s.length() > 0)
{
exp.signal_2(take_symb(s, i));
s.erase(0, i + 1);
exp.signal_3(stoi(take_symb(s, i)));
s.erase(0, i + 1);
if (s != "")
cout << endl;
}
return 0;
}

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Mila1515
26.03.2022 08:57
Вопрос с подвохом, пропускная меряется не от возможной передачи на стороне провайдера или пользователя, а от версии протокола 2СH (2 цэ-аш). Рассмотрим 2 последние версии. Протокол 2015 года поддерживал пропускную вплоть до 20 MB/WEBM. Стандарт нового протокола поразили многих экспертов, скорость была снижена вдвое. Но сделано это было в связи с отказом многих производителей сетевого оборудования устанавливать расширяющие микросхемы PassCODE для поддержки тех самых 20 MB/WEBM. Может в будущем, с большим распространением PassCODE пропускную поднимут, но пока приходится с этими ограничениями смирится и перекодировать WEBM что несомненно, приведет к ухудшению их качества. 
0,0(0 оценок)
Ответ:
Kreyda
22.08.2022 02:07
//1. Переборный алгоритм Евклида (цикл repeat)

var a, b, с: integer; 

begin

  write('Введите два числа: ');

  readln(a, b);

  if a < b then с := a + 1 else с := b + 1;

repeat с := с - 1

  until (a mod с = 0) and (b mod с = 0);

  write('NOD = ', с)

end.

 

//2. Алгоритм с вычитанием (цикл while)

var  a, b: integer;

begin

  write('a = ');

  readln(a);

  write('b = ');

  readln(b);

  while a <> b do

    if a > b then

      a := a - b

    else

      b := b - a;

  writeln('NOD = ', a);

end.

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота