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

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

Войти
Регистрация
Восстановить пароль
 
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
#1

Вывод без e (6e+10,1.35e+8) - C++

20.03.2012, 17:40. Просмотров 741. Ответов 9
Метки нет (Все метки)

Всем привет, есть вот такой код

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <cstdlib>
#include <iostream>
#include <math.h>
 
float round(float n)
 {
      float t;
      t=n-floor(n);
      if (t>=0.5)
      {
             n= (floor(n)+1);
              }
      else
      {
        n=  floor(n);
 
                           }
      return n;
 }
 
 
 
using namespace std;
 
 
 
 
int main(int argc, char *argv[])
 {
   double a,S,qwe;
 
 
  cin>>a;
 
if(a>=1 && a<=10e9){
          qwe =  pow(3, (0.25));
          double R = ((2*a)/ qwe);
 
         S= ((3*sqrt(3))/2)*(R*R);
 
      
       cout <<round(S)<<endl;
      }
      else cout <<"invalid data"<<endl  ;
 
 
 
    return 0;
 }

Программа считает площадь 6-угольника со стороной http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{2L}{\sqrt[4]{3}}

Все работает, но есть одно но. В условии сказано, что ответ должен выводиться округленный к ближайшему целому и самые цифры (без e (6e+10,1.35e+8) )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2012, 17:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод без e (6e+10,1.35e+8) (C++):

Вывод числа в столбик с первой цифры, без массива, без строк - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; void p(long a) { long i=0,z=a; while (z) { ...

Вывод без << - C++
Как исправить код, чтобы вместо &lt;&lt; выводилось с помощью printf. //вывод точки в окно с помощью операции &lt;&lt; friend graphic&amp; operator...

Вывод строки без пробелов - C++
в консоль вводится строка. она может заканчиваться/начинаться пробелами. нужно вывести ее же, но уже без пробелов. помогите написать,...

Вывод чисел от 1 до N без использования while, for - C++
Здравствуйте! Помогите пожалуйста, не могу разобраться в чем дело. На выходе числа 1 и 2 не зависимо от входных. #include &lt;iostream&gt; ...

вывод текста без использования библиотек? - C++
в общем вот такая вот задачка на Turbo C написать такую дрянь надо , блин говорят всего то строчки 3-4 ....вообще без использования любых...

Вывод двумерного массива без цикла - C++
Мне, короче, надо выводить двумерный массив на экран при каждом нажатии клавиши. С циклом for всё проходит гладко, но сейчас у меня имеется...

9
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6486 / 3130 / 307
Регистрация: 04.12.2011
Сообщений: 8,644
Записей в блоге: 5
20.03.2012, 17:44 #2
Цитата Сообщение от seruy-t Посмотреть сообщение
cout <<round(S)<<endl;
А если так:
cout <<(int)round(S)<<endl;
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,777
20.03.2012, 17:45 #3
fixed
setprecision
1
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
20.03.2012, 18:30 #4
C++
1
cout << static_cast< int > (S + 0.5) <<endl;
0
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
20.03.2012, 20:24  [ТС] #5
easybudda, Спасибо, но теперь выводиться число с нулями после запятой, как их откинуть ?

diagon, диапазона int мало, максимальное число вводимое = 1 000 000, потом с ним выполняются разные операции, в том числе и воспроизведение в квадрат

Добавлено через 16 минут
Откидаю нули так
C++
1
 cout << fixed <<setprecision(0)<<round(S)<<endl;
как еще можно ?
0
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
20.03.2012, 20:34 #6
Цитата Сообщение от seruy-t Посмотреть сообщение
теперь выводиться число с нулями после запятой, как их откинуть ?
setprecision floor
0
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
20.03.2012, 21:06  [ТС] #7
Откидаю нули так
C++
1
cout << fixed <<setprecision(0)<<round(S)<<endl;

как еще можно ?
0
easybudda
Модератор
Эксперт CЭксперт С++
9663 / 5613 / 952
Регистрация: 25.07.2009
Сообщений: 10,777
20.03.2012, 22:58 #8
Цитата Сообщение от seruy-t Посмотреть сообщение
Откидаю нули так
"Откидываю" по-русски. А чем такой подход не устраивает?
0
seruy-t
2 / 2 / 0
Регистрация: 21.08.2010
Сообщений: 216
21.03.2012, 16:59  [ТС] #9
easybudda, извиняюсь, русский - не мой родной язык. Просто интересно есть ли еще какие то варианты
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.03.2012, 17:04 #10
Цитата Сообщение от seruy-t Посмотреть сообщение
cout << fixed <<setprecision(0)<<round(S)<<endl;
Можно так, надежнее будет
C++
1
cout << fixed << setprecision(0) << S<< endl;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2012, 17:04
Привет! Вот еще темы с ответами:

Вывод трёхмерной графики без окна - C++
Осваивая OpenGL столкнулся с потребностью вывода изображения напрямую на экран, без использования видимого окна. Долго искал в интернете...

Вывод функции тангенс без асимптоты - C++
Доброго времени суток. У меня такой вопрос. Когда на с++ вывожу функцию tang(x), он мне выводит вместе с асимптотой, как можно сделать...

Вывод массива без использования цикла на C(pure)) - C++
Какие есть мысли и/или готовые решения по сабжу ?

Вывод всех перестановок без использования массивов - C++
Вот есть такая проблема: нужно вывести все возможные перестановки чисел от 1 до n тема жутко заезженная, есть рекурсивные подходы, есть...


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

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

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