0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 4
1

Рекурсия: вычислить арифметическое выражение (только операции умножения и деления)

04.06.2017, 22:27. Показов 656. Ответов 0
Метки нет (Все метки)

Составить программу вычисления арифметического выражения при
условии, что в нем участвуют только операции умножения и деления. Помогите доделать, пока имею только это. Работает пока только с целыми положительными числами.
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
#include "stdafx.h"
#include <iostream>
#include <sstream>
 
using namespace std;
 
int evaluate(string s) {
    int x;
    string t, ost;
    char znak;
    stringstream f;
 
    int i = s.size() - 1;
    while ((i >= 0) && ((s[i] >= '0') && (s[i] <= '9'))) {
        i--;
    }
    if (i < 0) {
        f.clear();
        f << s;
        f >> x;
        return x;
        }
    else {
        t = s.substr(i + 1, 100);   // на самом деле получить символы до конца строки
        f << t;
        f >> x;
        znak = s[i];
        ost = s.substr(0, i);
        if (znak == '*') return evaluate(ost)*x;
        else return evaluate(ost) / x;
        }
}
 
int main()
{
    cout << evaluate("10*10/2*3") << endl;
 
    return 0;
}
Добавлено через 1 час 3 минуты
Буду премного благодарен за помощь
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2017, 22:27
Ответы с готовыми решениями:

Вычислить a^14, используя только операции умножения или деления
Вычислить за 5 операции a^14.

Цикл: Используя только операции умножения и деления вычислить: A^n (A в степени n) , минимизировав число операций
Дано натуральное число A ( Ввод числа производится в шеснадцатеричной системе ). Используя только...

Используя только операции умножения, вычислить y = a^23 за шесть операций
6.Дано целое число a. Используя только операции умножения вычислить y = a^23 за шесть операций.

Используя только операции умножения вычислить y = a^21 за шесть операций
5.Дано целое число a. Используя только операции умножения вычислить y = a^21 за шесть операций.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2017, 22:27
Помогаю со студенческими работами здесь

Реализовать класс MyArray, который бы поддерживал индексные операции, операции сложения, вычитания, умножения, деления
Необходимо реализовать класс MyArray, который бы поддерживал индексные операции, операции сложения,...

Обработка строки. Операции деления и умножения
Здравствуйте, уважаемые форумчане! У меня несложный вопрос к опытным пользователям. Как можно легко...

Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления
Помогите с решением Даны целые положительные числа N и K. Используя только операции сложения и...

Используя только операции сложения и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления
Нужно решение задачи на языке С. Заранее благодарю))) Задача: Даны целые положительные числа N и...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru