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

задали домой - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ наследование-нужна помощь http://www.cyberforum.ru/cpp-beginners/thread403867.html
Здравствуйте. Помогите пожалуйста дописать производный класс. Осталось дописать конструктор, принимающий в качестве параметра Си-строку (заканчивается нулевым байтом); метод, преобразующий данную...
C++ Двунаправленное кольцо задание: 1. Реализовать с использованием массива двунаправленное кольцо (просмотр возможен в обе стороны, от последнего элемента можно перейти к первому). 2. Распечатать полученный массив, начиная... http://www.cyberforum.ru/cpp-beginners/thread403852.html
Строку в массив C++
Суть: нужно ввести строку скажем hello, так чтобы каждый символ загнать в массив. Помогите пожалуйста!
Инициализировать массив быстро? C++
Возможно ли инициализировать все элементы массива каким-то числом быстрее, чем через цикл? Как это можно сделать? Если нельзя, то как лучше это сделать в цикле-помещать локальные переменные счетчика...
C++ Сортировка линейного однонаправленного списка http://www.cyberforum.ru/cpp-beginners/thread403820.html
Всем привет) Нужно отсортировать линейный однонаправленный список. Как это можно сделать? Причем нужно менять местами не данные, а указатели.. Вот код программы, список структур. Помогите плиз...
C++ [C++] Арканоид Здравствуйте, я самый на то есть начинающий программист,поэтому сразу прошу прощения, если вопросы будут не очень коректными.Очень расчитываю на вашу помощь. Задача состоит в следующем. Нужно... подробнее

Показать сообщение отдельно
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
10.12.2011, 21:26
1. Аж два способа.
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
#include <iostream>
 
double calculate() {
  double result = 0.;
  size_t divisor = 1;
  double value;
  double epsilon = 0.001;
  while ((value = 1. / divisor) > epsilon) {
    result += value;
    divisor *= 2;
  }
  return result;
}
 
template <int divisor>
struct Calculate {
  static const double value = (1. / divisor > 0.001) ? 
    1. / divisor + Calculate<divisor * 2>::value
    : 0;
};
 
// stopper
template <>
struct Calculate<1 << 30> {
  static const double value = 0;
};
 
int main(int argc, char *argv[]) {
  std::cout << calculate() << std::endl;
  std::cout << Calculate<1>::value << std::endl;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru