Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
yura`
11 / 8 / 0
Регистрация: 09.02.2010
Сообщений: 107
#1

Вычисление арифметических выражений - C++

18.02.2010, 03:26. Просмотров 2442. Ответов 11
Метки нет (Все метки)

Здраствуйте. Меня волнует такой вопрос по С++ - вот я к примеру хочу вычислить какое-нибудь арифметическое выражение с переменными x, y, z. Как это описать в самой программе? Саму формулу написать не проблема, а вот сам код программы я не знаю какой должен быть. Я просто только начинаю осваиватся с С++, но мало что получается.

Буду очень благодарен за любую Вашу помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2010, 03:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление арифметических выражений (C++):

Вычисление арифметических выражений в условии цикла с параметром - C++
Здравствуйте! Объясните, пожалуйста. Уже, вроде, кучу сайтов перечитал, но так и не нашел ответа. Есть цикл for (i = st1.length()-1;...

Разбор арифметических выражений - C++
Задача на указатели из учебника Р.Лафоре. если вкратце, то суть заключается в том, что мы вводим строку без пробелов и скобок(например,...

Разбор арифметических выражений - C++
Здравствуйте друзья снова я к вам за помощью конечно вопрос может покажется банальным, но то ли время уже много и голова не соображает, то...

Решение арифметических выражений - C++
Помогите, пожалуйста, составить программы...

Парсер арифметических выражений - C++
Добрый вечер, пишу простенький парсер для разбора выражений, содержащих рациональные числа. Вот код: #include <iostream> #include...

Распараллеливание арифметических выражений - C++
Здравствуйте. Есть задача - распараллелить вычисление арифмитического выражения, подобное виду (a+b)+(c+(d+e+f))+h т.е....

11
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5612 / 952
Регистрация: 25.07.2009
Сообщений: 10,775
18.02.2010, 03:35 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
int main(){
    double x, y, z;
    cout << "X = ";
    cin >> x;
    cout << "Y = ";
    cin >> y;
    cout << "Z = ";
    cin >> z;
    /* x умножить на y и разделить на z */
    cout << "X * Y / Z = " << ( x * y / z ) << endl;
    return 0;
}
1
yura`
11 / 8 / 0
Регистрация: 09.02.2010
Сообщений: 107
18.02.2010, 03:38  [ТС] #3
Цитата Сообщение от easybudda Посмотреть сообщение
/* x умножить на y и разделить на z */
Спасибо большое.
А формулу получается сдесь надо вставить? - /* x умножить на y и разделить на z */
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5612 / 952
Регистрация: 25.07.2009
Сообщений: 10,775
18.02.2010, 03:50 #4
yura`, всё, что находится между /* и */ или после // и до конца строки, считается комментарием и на компиляции программы никак не отражается. Можно эту строчку хоть вообще убрать, хуже не будет. Было бы круто, конечно, если бы компилятор русский текст в произвольной форме распознавал, но пока не всё так замечательно... Все вычисления в следующей строке внутри скобок происходят

Цитата Сообщение от easybudda Посмотреть сообщение
cout << "X * Y / Z = " << ( x * y / z ) << endl;
1
yura`
11 / 8 / 0
Регистрация: 09.02.2010
Сообщений: 107
18.02.2010, 03:55  [ТС] #5
Вот я добавляю переменную b, и присваиваю ей значение определенной формулы. Как это выглядит? Примерно так?:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
int main(){
        double x, y, z, b;
        cout << "X = ";
        cin >> x;
        cout << "Y = ";
        cin >> y;
        cout << "Z = ";
        cin >> z;
        b=abs(pow(cos(x),1/2)+cos(pow(y,3)))+pow(2,(-x)*y);
        cout<<b; cout<<endl;
        b=pow(z,1/3)*(2*sin(ln(z))-(abs(z)/pow(1-pow(z,4)1/2));
        cout<<b; cout<<endl;
        cout << "B = " << b << endl;
        return 0;
}
Но компилятор выдает ошибочку...Знач чтото не правильно, подскажи пожалуйста, если Вам не тяжело

Добавлено через 25 секунд
ААА
Понятно, спасибо

Добавлено через 4 минуты
Ну вот код программы должен выйти такой:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
using namespace std;
 
int main(){
        double x, y, z;
        cout << "X = ";
        cin >> x;
        cout << "Y = ";
        cin >> y;
        cout << "Z = ";
        cin >> z;
        cout << "B = " << (pow(z,1/3)*(2*sin(ln(z))-(abs(z)/pow(1-pow(z,4)1/2))) << endl;
        return 0;
}
Но выдает в этом случае ошибки...
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5612 / 952
Регистрация: 25.07.2009
Сообщений: 10,775
18.02.2010, 04:11 #6
yura`, поправил немного:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
using namespace std;
 
int main(){
        double x, y, z, b;
        cout << "X = ";
        cin >> x;
        cout << "Y = ";
        cin >> y;
        cout << "Z = ";
        cin >> z;
        b=abs(pow(cos(x),1.0/2.0)+cos(pow(y,3)))+pow(2,(-x)*y);
        cout << "B = " << b << endl;
        b=pow(z,1.0/3.0)*(2*sin(log(z))-(abs(z)/pow(1-pow(z,4), 1.0/2.0)));
        cout << "B = " << b << endl;
        return 0;
}
1
yura`
11 / 8 / 0
Регистрация: 09.02.2010
Сообщений: 107
18.02.2010, 04:14  [ТС] #7
Спасибо Вам большое
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5612 / 952
Регистрация: 25.07.2009
Сообщений: 10,775
18.02.2010, 04:23 #8
yura`, да не за что. На всякий случай:
abs
fabs
а то навязчивое чувство, что оно у Вас не правильно считает...
0
Minyta
0 / 0 / 0
Регистрация: 18.02.2010
Сообщений: 37
18.02.2010, 13:36 #9
Ткните носом пожалуйста где можно почитать о математических выражениях.
0
Genius Ignat
1236 / 774 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
18.02.2010, 13:47 #10
В книгах по C++ должны быть таблицы приоритетов операций языка, и должны быть
темы о выражениях в C++.
1
Minyta
0 / 0 / 0
Регистрация: 18.02.2010
Сообщений: 37
18.02.2010, 18:50 #11
Вот нашла - Математические функции из библиотеки math.h. Может еще комунить понадобится.
0
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
18.02.2010, 19:28 #12
easybudda, хочу с тобой посоветоваться. Может на входе в форум большими буквами
намалевать:
1 / 2 = 0
Или хотя бы на входе в этот раздел ?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2010, 19:28
Привет! Вот еще темы с ответами:

Табулирование арифметических выражений - C++
Написать программу для вычисления табулированных значении функции y = f(x) на интервале от xn до xk с шагом дельта x. Предусмотреть ввод...

Калькулятор с парсингом арифметических выражений - C++
Народ интересует вопрос возможно ли сделать калькулятор в console приложении на C++ так что бы я ввожу строку например 3+4*2 он берет всю...

Поиск арифметических выражений в тексте - C++
Сервер отправляет клиенту сообщения. Те, в свою очередь сохраняются в *.log в виде: Нужен скрипт, который найдет последнее выражение...

Решение простых арифметических выражений - C++
Здраствуйте нужна помощь в решение примера , знаю что пример простой, но учить начал совсем не давно и надо увитель принцип решения,...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
18.02.2010, 19:28
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru