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

требуетсяя изменить программу так что бы она считывала значения int а не double - C++

Восстановить пароль Регистрация
 
DarkJoker1992
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 271
21.02.2013, 16:26     требуетсяя изменить программу так что бы она считывала значения int а не double #1
вродибы у меня всё получилось кроме sqrt я изменил double n на double ns и под ним написал int n = ns; и получилось что выводило только целые числа но квадратный корень всё равно выводится не так как нужно!! подскажите пожалуйста как правельно написать!! и если не трудно напишите пожалуйста ещё пару примеров!! рабочих я их поизучаю!! Спасибо большое!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include "std_lib_facilities.h"
 
int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    cout << "Введите значение с плавающей точкой " << endl;
    double n;
    cin >> n;
    cout << "n == " << n
     << "nn+1 " << n+1
     << "n три раза по n == " << 3*n
         << "n два раза по n == " << n+n
         << "nn в квадрате == " << n*n
         << "n половина n == " << n/2
         << "n корень квадратный из n == " << sqrt(n)
     << endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2013, 16:26     требуетсяя изменить программу так что бы она считывала значения int а не double
Посмотрите здесь:

C++ double a=1/2; cout<<a;(a=0) что не так?
C++ Напишите программу, которая будет определять размер для данных (int, char, long, double, short, unsigned, float) и выводить информацию
C++ Переделать программу под класс. Т.е. чтобы она работала так же, но с классом
Double, int , long double C++
C++ Объявите указатели на следующие типы int, char, double - проинициализируйте их, выведите их значения на экран.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
21.02.2013, 16:32     требуетсяя изменить программу так что бы она считывала значения int а не double #2
если честно по вашему коду так и не понял что вы хотите...
пример дайте пожалуйста что должна делать программа
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
21.02.2013, 16:34     требуетсяя изменить программу так что бы она считывала значения int а не double #3
Чтобы она считывала int, нужно чтобы n была типа int. А если Вам нужно, что из под корня было целое число, можно воспользоваться привидением типов:
C++
1
<< "n корень квадратный из n == " << int(sqrt(n));
DarkJoker1992
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 271
22.02.2013, 12:00  [ТС]     требуетсяя изменить программу так что бы она считывала значения int а не double #4
Цитата Сообщение от MrGrig Посмотреть сообщение
если честно по вашему коду так и не понял что вы хотите...
пример дайте пожалуйста что должна делать программа
Запустите эту небольшую программу.Затем измените её так что бы считать значение типа int а не double. Обратите внимание на то что функция sqrt() для целых чисел не определена, поэтому присвойте число n переменной типа double и лишь затем примените к ней функцию sqrt(). Кроме того выполните несколько других операций. ОБратите внимание на то что операция / для целых чисел представляет собой целочисленное деление а операция % - вичисление остатка. Ну как то так.

Добавлено через 19 часов 24 минуты
Проблема всё ещё есть =(
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
22.02.2013, 16:56     требуетсяя изменить программу так что бы она считывала значения int а не double #5
C++
1
2
3
int n;
...
sqrt((double)n);
DarkJoker1992
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 271
23.02.2013, 16:26  [ТС]     требуетсяя изменить программу так что бы она считывала значения int а не double #6
Цитата Сообщение от aLarman Посмотреть сообщение
C++
1
2
3
int n;
...
sqrt((double)n);
оказалось всё проще чем я могу представить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include "std_lib_facilities.h"
 
int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    cout << "Введите значение с плавающей точкой " << endl;
    int n;
    cin >> n;
    cout << "n == " << n;
    cout << "\nn+1 " << n+1;
    cout << "\nтри раза по n == " << 3*n;
    int hl = 3*n;
    cout << "\nдва раза по n == " << n+n;
    cout << "\nnв квадрате == " << n*n;
    cout << "\nполовина n == " << n/2;
    double ns = n;
    cout << "\nLOL " << hl + 10 << endl;
    cout << "\nкорень квадратный из ns == " << sqrt(ns) << endl;
    system("pause");
    return 0;
}
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
23.02.2013, 19:39     требуетсяя изменить программу так что бы она считывала значения int а не double #7
ну вообще говоря там в любом случае произойдет приведения типа, к типу аргумента) это я предложил для явности
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2013, 19:44     требуетсяя изменить программу так что бы она считывала значения int а не double
Еще ссылки по теме:

C++ Как мне программу с int переделать в Float i double?
Преобразовать 2 числа int в 1 число float(double) | double int1.int2 C++
C++ Как изменить программу, чтобы она добавляла К строк в начало матрицы?

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

Или воспользуйтесь поиском по форуму:
Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
23.02.2013, 19:44     требуетсяя изменить программу так что бы она считывала значения int а не double #8
Цитата Сообщение от DarkJoker1992 Посмотреть сообщение
вродибы у меня всё получилось кроме sqrt я изменил double n на double ns и под ним написал int n = ns; и получилось что выводило только целые числа но квадратный корень всё равно выводится не так как нужно!! подскажите пожалуйста как правельно написать!! и если не трудно напишите пожалуйста ещё пару примеров!! рабочих я их поизучаю!! Спасибо большое!!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include "std_lib_facilities.h"
 
int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    cout << "Введите значение с плавающей точкой " << endl;
    double n;
    cin >> n;
    cout << "n == " << n
     << "nn+1 " << n+1
     << "n три раза по n == " << 3*n
         << "n два раза по n == " << n+n
         << "nn в квадрате == " << n*n
         << "n половина n == " << n/2
         << "n корень квадратный из n == " << sqrt(n)
     << endl;
    system("pause");
    return 0;
}
нужно перед приведением типов сделать округление полученного корня
double floor(double x) // округление к минус бесконечности
double ceil(double x) // округление к плюс бесконечности
Yandex
Объявления
23.02.2013, 19:44     требуетсяя изменить программу так что бы она считывала значения int а не double
Ответ Создать тему
Опции темы

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