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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
NIKXXL
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 20
#1

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

28.09.2010, 22:34. Просмотров 1052. Ответов 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?
Миниатюры
Вычислить выражения   Вычислить выражения  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
2297 / 1667 / 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++
4949 / 3025 / 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
2297 / 1667 / 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++
4949 / 3025 / 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++
4949 / 3025 / 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     Вычислить выражения
Еще ссылки по теме:

Вычислить значение выражения C++
C++ Вычислить значение выражения
Вычислить значение выражения 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     Вычислить выражения
Ответ Создать тему
Опции темы

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