Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Fedorys
489 / 200 / 15
Регистрация: 19.03.2013
Сообщений: 450
1

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

29.12.2013, 13:20. Просмотров 849. Ответов 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
Ответы с готовыми решениями:

Размер типов данных
Здравствуй, Cyberforum. Меня интересует один вопрос, возможно он травиальный.. ...

Конвертация типов данных
Доброго время суток. Хотел бы задать простенький вопрос. 1.Из ком. строки...

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

Преобразования типов данных
Допустим если объявить функцию Determinant типа void, как сделать чтоб...

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

7
Croessmah
++Ͻ
14776 / 8452 / 1605
Регистрация: 27.09.2012
Сообщений: 20,800
Записей в блоге: 2
Завершенные тесты: 1
29.12.2013, 13:27 2
Лучший ответ Сообщение было отмечено как решение

Решение

2/3 = 0
1/5 = 0
3
S_el
2220 / 1683 / 354
Регистрация: 15.12.2013
Сообщений: 6,686
29.12.2013, 13:31 3
Цитата Сообщение от Fedorys Посмотреть сообщение
При этом значения r вычисляются различные, а вот t все время оказывается равным 2. И типы переменных менял, и вводил не целые константы.
Дробь запишите в десятичном виде и все получится
2
Байт
Эксперт C
19207 / 12333 / 2603
Регистрация: 24.12.2010
Сообщений: 25,350
29.12.2013, 13:39 4
Программа выдает результат 0,00000
1
Genn55
378 / 225 / 108
Регистрация: 26.12.2012
Сообщений: 744
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
19350 / 7203 / 538
Регистрация: 30.03.2009
Сообщений: 20,141
Записей в блоге: 30
29.12.2013, 17:11 6
Вместо "(double)2" достаточно написать "2.0"
1
Tulosba
:)
Эксперт С++
4749 / 3243 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
29.12.2013, 20:35 7
Цитата Сообщение от Evg Посмотреть сообщение
Вместо "(double)2" достаточно написать "2.0"
Или даже 2.
1
Новичок
Модератор
1511 / 980 / 465
Регистрация: 17.07.2012
Сообщений: 4,976
Завершенные тесты: 3
29.12.2013, 21:58 8
Сначала подумал как просто 2,но потом понял что точка относится к двойке,а не как конец предложения.
0
29.12.2013, 21:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2013, 21:58

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

Преобразование типов данных
Подскажите как преобразовать double 0.00000000000023 в char 2.3E-13 и обратно?...

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


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

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

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