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

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

Войти
Регистрация
Восстановить пароль
 
Fedorys
489 / 200 / 9
Регистрация: 19.03.2013
Сообщений: 450
#1

Тонкости типов данных - C++

29.12.2013, 13:20. Просмотров 305. Ответов 7
Метки нет (Все метки)

Господа, подскажите, пожалуйста, в чем моя ошибка, не вижу, хоть убейся. Программа простейшая, но результат выдается в конце один и тот же, - число 2, - при любых начальных значениях параметров.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <math.h>
 
using namespace std;
 
double func(double u, double y)
{
   double r;
 
   r = y*y*u+u*y+y*u*u+1.0;
   cout<<"\n r = "<<r;
    return r;
}
 
int main()
{
   double a,b,c,x;
   cout<<"\n Zadaite konstanty a,b,c:";
   cin>>a;
   cin>>b;
   cin>>c;
 
   cout<<"\n Dlya kakogo x vychislit' znachenie funkcii? x:";
   cin>>x;
 
   cout<<"\n Znachenie funkcii: t = "<<pow(func(a*b,x),2/3) + pow(func(c,x),1/5);
    return 0;
}
При этом значения r вычисляются различные, а вот t все время оказывается равным 2. И типы переменных менял, и вводил не целые константы. Хоть убейся. Результат всегда 2.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2013, 13:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Тонкости типов данных (C++):

Преобразование типов данных - C++
Как преобразовать тип данных который берется с ячейки Excel в строчный тип, чтобы потом это вывести в label? у меня такой код ...

Конвертация типов данных - C++
Доброго время суток. Хотел бы задать простенький вопрос. 1.Из ком. строки читаются параметры argv. Допустим один из них равен '12'...

Ошибка типов данных - C++
У меня возник вопрос: Запускаю программу Я должен ввести число от одного до трех, после значение записывается в переменную типа int ...

Преобразование типов данных - C++
Здравствуйте, програмеры! :) Возникла такая потребность: преобразовать тип данных с вводных (string, или char) в созданные при помощи enum....

Конвертирование типов данных - C++
Нужно обработать данные. Пропустить их через кучу функций, каждая из них требует свой тип данных. Вовремя компиляции постоянно...

Преобразование типов данных - C++
Здравствуйте! Вот хотел уточнить одну штуку. Мне было сказано одним авторитетным человек, что тип переменной поменять нельзя. И я...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13226 / 7498 / 845
Регистрация: 27.09.2012
Сообщений: 18,416
Записей в блоге: 3
Завершенные тесты: 1
29.12.2013, 13:27 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
2/3 = 0
1/5 = 0
3
S_el
2100 / 1611 / 308
Регистрация: 15.12.2013
Сообщений: 6,451
29.12.2013, 13:31 #3
Цитата Сообщение от Fedorys Посмотреть сообщение
При этом значения r вычисляются различные, а вот t все время оказывается равным 2. И типы переменных менял, и вводил не целые константы.
Дробь запишите в десятичном виде и все получится
2
Байт
Эксперт C
16062 / 10331 / 1540
Регистрация: 24.12.2010
Сообщений: 19,463
29.12.2013, 13:39 #4
Программа выдает результат 0,00000
1
Genn55
367 / 214 / 41
Регистрация: 26.12.2012
Сообщений: 708
29.12.2013, 16:48 #5
Цитата Сообщение от Fedorys Посмотреть сообщение

При этом значения r вычисляются различные, а вот t все время оказывается равным 2. И типы переменных менял, и вводил не целые константы. Хоть убейся. Результат всегда 2.
Приведение типов данных никто не отменял
C++
1
 cout<<"\n Znachenie funkcii: t = "<<pow(func(a*b,x),(double)2/3) + pow(func(c,x),(double)1/5);
0
Evg
Эксперт CАвтор FAQ
17810 / 6020 / 388
Регистрация: 30.03.2009
Сообщений: 16,539
Записей в блоге: 26
29.12.2013, 17:11 #6
Вместо "(double)2" достаточно написать "2.0"
1
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
29.12.2013, 20:35 #7
Цитата Сообщение от Evg Посмотреть сообщение
Вместо "(double)2" достаточно написать "2.0"
Или даже 2.
1
Новичок
Модератор
1205 / 776 / 171
Регистрация: 17.07.2012
Сообщений: 4,200
Записей в блоге: 1
Завершенные тесты: 2
29.12.2013, 21:58 #8
Сначала подумал как просто 2,но потом понял что точка относится к двойке,а не как конец предложения.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2013, 21:58
Привет! Вот еще темы с ответами:

Преобразование типов данных - C++
Доброго времени суток, решаю задачу из Лафоре, в этом куске кода мне надо получить значение double, очевидно, что оно будет не целым,...

Размер типов данных - C++
Здравствуй, Cyberforum. Меня интересует один вопрос, возможно он травиальный.. Почему в 8 битах (в одном байте) мы можем хранить 255...

Перегрузка типов данных - C++
Напишете пожалуйста примеры: перегрузка из одного типа в другой(например из типа int в float, и обратно из float в int).

Объявление типов данных. - C++
Зачем это нужно? Это как-то связано с выделением памяти. Может, чтобы быстрее управлять данными? :)


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

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

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