Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
1

Вычислить выражения

28.09.2010, 22:34. Просмотров 1151. Ответов 16
Метки нет (Все метки)

Здравствуйте. Подскажите как правильно записать выражения y и z. Появляется окно для ввода значения X, но после ввода числа появляется ошибка в строке y=(3*pow.... ну и окно предупреждения, которое на рисунке. Также на рисунке сам пример задачи.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma argsused
#include<stdio.h>
#include <conio.h>
#include<math.h>
#include<iostream>
 
using namespace std;
void main()
{
double x,y,z;
cout<<"Vvedite x:\n";
cin>>x;
y=(3*pow(x,2)-1.7)/pow((x-2*y),3)+pow((y-2*x),3)/pow(y,2)*pow((2*x-6*y),2);
z=pow((0.7-x),3)+pow(y,2)/(x-y)+pow((2*y-4*x),4)/fabs(pow((x+y),2)-5);
 
cout<< "X: " << x;
getch ();
 
}
вот само задание:
Вычислить значение функции y и z по формулам при различных вещественных типах данных (float и double). Параметр x вводится с клавиатуры. Вычисления следует выполнять с использованием промежуточных переменных. Сравнить и объяснить полученные результаты.
Я так понял нужно просто просто поменять double на float?
0
Миниатюры
Вычислить выражения   Вычислить выражения  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2010, 22:34
Ответы с готовыми решениями:

Дан файл, содержащий текст и арифметические выражения. Выписать и вычислить все выражения
Дан файл, содержащий текст и арифметические выражения вида a®b, где ® — один...

Вычислить выражения
http://tnkscr.net/9waZo3.jpg при x=0.03981,y=-1625,z=0.521; помогите...

Вычислить выражения
Помогите пожалуйста написать код

Вычислить значение выражения
Вычислить значение выражения: у =...

Вычислить значение выражения
Помогите пожалуйста

16
mrMRak
38 / 38 / 10
Регистрация: 02.06.2010
Сообщений: 105
28.09.2010, 22:52 2
не, деление на ноль.
Переменные z,y - не имеют начального значения.
0
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
28.09.2010, 22:58  [ТС] 3
это наверно из-за того что я не правильно возвел выражение в скобках в степень?
0
CyBOSSeR
Эксперт С++
2310 / 1683 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
28.09.2010, 23:01 4
Цитата Сообщение от NIKXXL Посмотреть сообщение
Я так понял нужно просто просто поменять double на floa
Нет, для начала нужно решить задачу математически - в обоих формулах по две неизвестных.
0
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
28.09.2010, 23:10  [ТС] 5
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Нет, для начала нужно решить задачу математически - в обоих формулах по две неизвестных.
Ход решения кажется правильно написан. Вот нашел похожий пример, но там считает все нормально http://www.cyberforum.ru/cpp/thread22395.html
0
mrMRak
38 / 38 / 10
Регистрация: 02.06.2010
Сообщений: 105
28.09.2010, 23:17 6
у вас в выражениях и слева и справа неизвестные. такое решить надо математически. или упрощайте пока не станет решение однозначным, как в примере что вы привели :
cin>>x;
y=((pow(x,2)+10.2)/(2-0.047*x))-(pow(x,2)/4);

слева игрек, неизвестное, а справа все известно. или возможно в вашем задании указывают чему равен игрек изначально.
0
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
28.09.2010, 23:22 7
Сначала неплохо бы выразить y через x (в первой формуле) и подставить полученный y во вторую. Только тогда можно говорить о вычислении y и z при известном x.
0
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
28.09.2010, 23:34  [ТС] 8
Точно, как то не обратил внимание на неизвестный y. И как только получу значение y, допустим y=5, можно будет вставить это в код и все? Х же будет вводиться вручную.
0
CyBOSSeR
Эксперт С++
2310 / 1683 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
29.09.2010, 00:08 9
NIKXXL, для начала решите задачу математически - в уравнениях должно остаться только по одной неизвестной. Затем попробуйте написать программу для расчета. Если что-то не получится - здесь Вам помогут.
0
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
29.09.2010, 00:21  [ТС] 10
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
NIKXXL, для начала решите задачу математически
не очень приятное дело эта математика) ну чтож, буду пытаться решать пример.
0
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
30.09.2010, 18:44  [ТС] 11
Пример оказался не тот, точнее функция y=. Что-то не получается записать строку где корень икса.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
#include <conio.h>
#include<math.h>
#include<iostream>
 
using namespace std;
void main()
{
double x,y,z;
cout<<"Vvedite x:\n";
cin>>x;
y=(3*pow(x,2)-1.7)/pow((x-2*pow(x,2)),3)+pow((sqrt double x)-(2*x),3)/pow(x,2)*pow((2*x-pow(6,3)*sqrt(x+3),2);
z=pow((0.7-x),3)+pow(y,2)/(x-y)+pow((2*y-4*x),4)/fabs(pow((x+y),2)-5);
cout<< "X: " << x;
getch ();
}
0
Миниатюры
Вычислить выражения  
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
30.09.2010, 19:02 12
NIKXXL,
y = ((3.0 * x * x - 1.7) / pow(x - 2.0 * x * x, 3.0) + pow(sqrt(x) - 2.0 * x, 3.0) / (x * x)) * pow(2.0 * x - 6.0 * pow(x + 3.0, 1.0 / 3.0), 2.0);
Ваш вариант не смотрел...
1
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
30.09.2010, 19:33  [ТС] 13
Цитата Сообщение от silent_1991 Посмотреть сообщение
NIKXXL,
y = ((3.0 * x * x - 1.7) / pow(x - 2.0 * x * x, 3.0) + pow(sqrt(x) - 2.0 * x, 3.0) / (x * x)) * pow(2.0 * x - 6.0 * pow(x + 3.0, 1.0 / 3.0), 2.0);
Ваш вариант не смотрел...
я подправил, все запускается, но почему то если ввожу x например 5, то и получаю в результате 5. как будто не считает программа пример, обходит стороной.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<stdio.h>
#include <conio.h>
#include<math.h>
#include<iostream>
 
using namespace std;
void main()
{
double x,y,z;
cout<<"Vvedite x:\n";
cin>>x;
y=(3*pow(x,2)-1.7)/pow((x-2*pow(x,2)),3)+pow(sqrt(x)-(2*x),3)/pow(x,2)*pow(2*x-6*pow(x+3,1/3),2);
z=pow((0.7-x),3)+pow(y,2)/(x-y)+pow((2*y-4*x),4)/fabs(pow((x+y),2)-5);
cout<< "X: " << x;
getch ();
}
0
mrMRak
38 / 38 / 10
Регистрация: 02.06.2010
Сообщений: 105
30.09.2010, 19:34 14
а разве Х изменяется? выводите y или z.
1
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
30.09.2010, 19:50  [ТС] 15
точно) невнимательно я ввел X. А вот в условии: Вычислить значение функции y и z по формулам при различных вещественных типах данных (float и double). Это получилось для double, а для float код можно оставить таким же, т.е. заменить double на float?
0
silent_1991
Эксперт С++
5009 / 3069 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
30.09.2010, 19:50 16
Разумеется.
1
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
30.09.2010, 20:01  [ТС] 17
Спасибо за советы)) ток я не понял смысл менять double на float как в условии сказано:Сравнить и объяснить полученные результаты. они и так одинаковые получают все равно.
0
30.09.2010, 20:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2010, 20:01

Вычислить значение выражения
Привет всем! Можете подсказать как написать эту задачу на с++ ...

Вычислить значение выражения
Написать программу вычисления значения выражения при заданных выходных данных....

Вычислить значение выражения
Вычислить yi=7*arctg(xi)+F; здесь i=1,15 (1 до 15). Массив x вводится из файла...


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

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

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