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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
28.09.2010, 22:34     Вычислить выражения #1
Здравствуйте. Подскажите как правильно записать выражения 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?
Миниатюры
Вычислить выражения   Вычислить выражения  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2010, 22:34     Вычислить выражения
Посмотрите здесь:

C++ Вычислить значение выражения
C++ Вычислить выражения
C++ Вычислить выражения
Вычислить значение выражения C++
Вычислить значение выражения C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mrMRak
38 / 38 / 3
Регистрация: 02.06.2010
Сообщений: 105
28.09.2010, 22:52     Вычислить выражения #2
не, деление на ноль.
Переменные z,y - не имеют начального значения.
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
28.09.2010, 22:58  [ТС]     Вычислить выражения #3
это наверно из-за того что я не правильно возвел выражение в скобках в степень?
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
28.09.2010, 23:01     Вычислить выражения #4
Цитата Сообщение от NIKXXL Посмотреть сообщение
Я так понял нужно просто просто поменять double на floa
Нет, для начала нужно решить задачу математически - в обоих формулах по две неизвестных.
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
28.09.2010, 23:10  [ТС]     Вычислить выражения #5
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Нет, для начала нужно решить задачу математически - в обоих формулах по две неизвестных.
Ход решения кажется правильно написан. Вот нашел похожий пример, но там считает все нормально http://www.cyberforum.ru/cpp/thread22395.html
mrMRak
38 / 38 / 3
Регистрация: 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);

слева игрек, неизвестное, а справа все известно. или возможно в вашем задании указывают чему равен игрек изначально.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
28.09.2010, 23:22     Вычислить выражения #7
Сначала неплохо бы выразить y через x (в первой формуле) и подставить полученный y во вторую. Только тогда можно говорить о вычислении y и z при известном x.
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
28.09.2010, 23:34  [ТС]     Вычислить выражения #8
Точно, как то не обратил внимание на неизвестный y. И как только получу значение y, допустим y=5, можно будет вставить это в код и все? Х же будет вводиться вручную.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
29.09.2010, 00:08     Вычислить выражения #9
NIKXXL, для начала решите задачу математически - в уравнениях должно остаться только по одной неизвестной. Затем попробуйте написать программу для расчета. Если что-то не получится - здесь Вам помогут.
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
29.09.2010, 00:21  [ТС]     Вычислить выражения #10
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
NIKXXL, для начала решите задачу математически
не очень приятное дело эта математика) ну чтож, буду пытаться решать пример.
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 ();
}
Миниатюры
Вычислить выражения  
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 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);
Ваш вариант не смотрел...
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 ();
}
mrMRak
38 / 38 / 3
Регистрация: 02.06.2010
Сообщений: 105
30.09.2010, 19:34     Вычислить выражения #14
а разве Х изменяется? выводите y или z.
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
30.09.2010, 19:50  [ТС]     Вычислить выражения #15
точно) невнимательно я ввел X. А вот в условии: Вычислить значение функции y и z по формулам при различных вещественных типах данных (float и double). Это получилось для double, а для float код можно оставить таким же, т.е. заменить double на float?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
30.09.2010, 19:50     Вычислить выражения #16
Разумеется.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2010, 20:01     Вычислить выражения
Еще ссылки по теме:

Вычислить значение выражения dl ± d2 ± ... ± dn C++
Вычислить значение выражения C++
Вычислить значение выражения C++

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

Или воспользуйтесь поиском по форуму:
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
30.09.2010, 20:01  [ТС]     Вычислить выражения #17
Спасибо за советы)) ток я не понял смысл менять double на float как в условии сказано:Сравнить и объяснить полученные результаты. они и так одинаковые получают все равно.
Yandex
Объявления
30.09.2010, 20:01     Вычислить выражения
Ответ Создать тему
Опции темы

Текущее время: 12:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru