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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.02.2011, 23:01     Вычисление значения выражения. #1
Здравствуйте, только начал изучать С++, помогите, пожалуйста с задачей:

Найти значение выражения: y= (x+a) в 3 степени + x*(b в квадрате + c в квадрате).

Вот то, что я набрал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    double a,b,c,x,y,i;
    printf("\nVvedite a,b,c,x:\n");
    scanf("%i",&a);
    scanf("\n%i",&b);
    scanf("\n%i",&c);
    scanf("\n%i",&x);
    y=pow((x+a),3)+x*(pow(b,2)+pow(c,2));
    printf("\nResultat: %2.5f\n",y);
    _getch();
    return 0;
}
Но при выполнении программы выдает огромное значение, совсем не соответствующее результату, вычисленному на калькуляторе.

Заранее, спасибо.

Добавлено через 10 минут
Помогите, пожалуйста, вроде ж самое простое.. Линейный алгоритм...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
04.02.2011, 23:09     Вычисление значения выражения. #2
C++
1
y = pow(x + 2.0, 3.0) + x * (b * b + c * c)
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
04.02.2011, 23:10     Вычисление значения выражения. #3
BoBaH26, у вас числа a,b,c - double, а вы в scanf пышите как int, нада

C
1
scanf("%lf",&a);
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.02.2011, 23:16  [ТС]     Вычисление значения выражения. #4
Спасибо, а то только начал изучать, если б это на Паскале было, то тут и думать не надо, все очевидно, но это С++.. Увы.. Буду учить, потом легко будет, как на Паскале

Добавлено через 2 минуты
Извиняюсь, а что значит lf?
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
04.02.2011, 23:18     Вычисление значения выражения. #5
BoBaH26,

lf - long float(double)
Flewka
13 / 0 / 0
Регистрация: 03.02.2011
Сообщений: 35
04.02.2011, 23:18     Вычисление значения выражения. #6
Тебе дали ответ... используй int заместь double вот правда не помну чы в 1 строку записывать нада или все одельно...тип
int a;
int b;
int c;
int x;
int y;
int i;

поробуеш так якшо шото не получиться...
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
04.02.2011, 23:21     Вычисление значения выражения. #7
Цитата Сообщение от Flewka Посмотреть сообщение
используй int заместь double
При чем здесь ето? Надо использовать то, что требуют данные!!!
Flewka
13 / 0 / 0
Регистрация: 03.02.2011
Сообщений: 35
04.02.2011, 23:30     Вычисление значения выражения. #8
Цитата Сообщение от MILAN Посмотреть сообщение
При чем здесь ето? Надо использовать то, что требуют данные!!!
Integer — работа с целыми числами.
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.02.2011, 23:35  [ТС]     Вычисление значения выражения. #9
Да, с int должно быть проще, но надо делать с действительным типом. Получается, что % - служит для указания типа вводимой переменной, а & - для обозначения самой переменной, или обращения к ней? Просто в Паскале намного проще, там синтаксис и семантика другие совсем, можно было просто записать: read(x) и все...
Flewka
13 / 0 / 0
Регистрация: 03.02.2011
Сообщений: 35
04.02.2011, 23:36     Вычисление значения выражения. #10
BoBaH26, Кароч если тебе нада по какойто умове делать подойди к тому хто давал тебе ету умову и спроси какова хера не int))))

Тип
Хранимые значения

char Значения в диапазоне от -128 до 127. Обычно используется для хранения букв алфавита
int Значения в диапазоне от -32768 до 32767
unsigned Значения в диапазоне от 0 до 65535
long Значения в диапазоне от -2147483648 до 2147483647
float Значения в диапазоне от -3.4 x 10-38 до 3.4 x 1038
double Значения в диапазоне от 1.7х 10-308 до 1.7х 10308 Тут постал вопрос тока 1.7 ??? ето меньше 2 мб и по етому ничево не получчаеться...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2011, 23:38     Вычисление значения выражения.
Еще ссылки по теме:

Вычисление значения выражения C++
Вычисление значения выражения C++
C++ Вычисление значения выражения с помощью макроса max

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

Или воспользуйтесь поиском по форуму:
BoBaH26
30 / 30 / 0
Регистрация: 02.12.2010
Сообщений: 255
04.02.2011, 23:38  [ТС]     Вычисление значения выражения. #11
Да я ж писал уже, что работает вот листинг рабочей:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
 
 
int _tmain(int argc, _TCHAR* argv[])
{
        double a,b,c,x,y;
        printf("\nVvedite a,b,c,x:\n");
        scanf("%lf",&a);
        scanf("\n%lf",&b);
        scanf("\n%lf",&c);
        scanf("\n%lf",&x);
        y=pow((x+a),3)+x*(pow(b,2)+pow(c,2));
        printf("\nResultat: %2.5f\n",y);
        _getch();
        return 0;
}
Yandex
Объявления
04.02.2011, 23:38     Вычисление значения выражения.
Ответ Создать тему
Опции темы

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