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

Точность и т.д. - C++

Восстановить пароль Регистрация
 
CFYZ
 Аватар для CFYZ
10 / 10 / 0
Регистрация: 21.11.2009
Сообщений: 187
17.03.2011, 18:32     Точность и т.д. #1
1)Дано два целых числа a і b. Виведите гипотенузу с катетами a и b с точностью 6 знаков.
Вх одные данные
Два целих числа a и b (0 < a, b < 1000).

Тут выводиться всего 6 знаков, а нужно 6 знаков после точки, что делать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <math.h>
#include <iomanip>
 
using namespace std;
 
int main()
{
 
    int a,b;
    cin>>a>>b;
    double rez;
    rez = sqrt(a*a + b*b);
    cout<<setprecision(6)<<rez;
 
    return 0;
}

2) Дано два числа. Найдите их наибольший общий делитель и наименьшее общее кратное.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2011, 18:32     Точность и т.д.
Посмотрите здесь:

Точность вычисления C++
C++ Точность вычислений
C++ Теряется точность
C++ Сумма ряда до точность E
C++ Точность float
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 403
Записей в блоге: 2
17.03.2011, 18:44     Точность и т.д. #2
Цитата Сообщение от CFYZ Посмотреть сообщение
Тут выводиться всего 6 знаков, а нужно 6 знаков после точки, что делать?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    int a,b;
    cin>>a>>b;
    double rez;
    rez = sqrt(double(a*a + b*b));
    cout<<("%6.7lf",rez);
    return 0;
}
Простите неверно вышло!
CFYZ
 Аватар для CFYZ
10 / 10 / 0
Регистрация: 21.11.2009
Сообщений: 187
17.03.2011, 18:50  [ТС]     Точность и т.д. #3
Цитата Сообщение от VASSUV Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
    int a,b;
    cin>>a>>b;
    double rez;
    rez = sqrt(double(a*a + b*b));
    cout<<("%6.7lf",rez);
    return 0;
}
Простите неверно вышло!
Не работает.

при вводе 4 и 5 выводит 6.40312

а это 5-ть знаков после точки а нужно шесть.
VASSUV
MiThEoN
 Аватар для VASSUV
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 403
Записей в блоге: 2
17.03.2011, 18:56     Точность и т.д. #4
Цитата Сообщение от VASSUV Посмотреть сообщение
Простите неверно вышло!
Цитата Сообщение от CFYZ Посмотреть сообщение
"%6.7lf",rez
такое работает если подключить библиотеку
C++
1
#include <stdio.h>
и написать так!
C++
1
printf("%.6lf", rez);
Vandris
 Аватар для Vandris
63 / 63 / 13
Регистрация: 19.01.2011
Сообщений: 90
17.03.2011, 18:59     Точность и т.д. #5
2) Дано два числа. Найдите их наибольший общий делитель и наименьшее общее кратное.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int NOD(int, int);
int NOK(int, int);
 
int main()
{
    std::cout << NOD(48, 36) << std::endl; //12
    std::cout << NOK(48, 36); //144
    return 0;
}
 
int NOD(int a, int b)
{
   if (a%b == 0) return b;
   return NOD(b, a%b);
}
 
int NOK(int a, int b)
{
   return a*b/NOD(a, b);
}
Yandex
Объявления
17.03.2011, 18:59     Точность и т.д.
Ответ Создать тему
Опции темы

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