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

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

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

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

29.12.2013, 13:20. Просмотров 315. Ответов 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++
Здравствуйте! Вот хотел уточнить одну штуку. Мне было сказано одним авторитетным человек, что тип переменной поменять нельзя. И я...

7
Croessmah
Эксперт CЭксперт С++
13514 / 7672 / 866
Регистрация: 27.09.2012
Сообщений: 18,887
Записей в блоге: 3
Завершенные тесты: 1
29.12.2013, 13:27 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
2/3 = 0
1/5 = 0
3
S_el
2109 / 1628 / 308
Регистрация: 15.12.2013
Сообщений: 6,531
29.12.2013, 13:31 #3
Цитата Сообщение от Fedorys Посмотреть сообщение
При этом значения r вычисляются различные, а вот t все время оказывается равным 2. И типы переменных менял, и вводил не целые константы.
Дробь запишите в десятичном виде и все получится
2
Байт
Эксперт C
16346 / 10622 / 1590
Регистрация: 24.12.2010
Сообщений: 20,264
29.12.2013, 13:39 #4
Программа выдает результат 0,00000
1
Genn55
370 / 217 / 41
Регистрация: 26.12.2012
Сообщений: 713
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
18032 / 6264 / 427
Регистрация: 30.03.2009
Сообщений: 17,228
Записей в блоге: 28
29.12.2013, 17:11 #6
Вместо "(double)2" достаточно написать "2.0"
1
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
29.12.2013, 20:35 #7
Цитата Сообщение от Evg Посмотреть сообщение
Вместо "(double)2" достаточно написать "2.0"
Или даже 2.
1
Новичок
Модератор
1250 / 798 / 178
Регистрация: 17.07.2012
Сообщений: 4,260
Записей в блоге: 1
Завершенные тесты: 2
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
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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