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

Найти 1+2+3+...+n рекурсивно и итеративно - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ n>=a в степени k http://www.cyberforum.ru/cpp-beginners/thread162564.html
вот решил задачу таким образом: задача: Напишите программу, находящую для заданных числел n и k максимальное число a, такое, что ak≤ n решение: #include <iostream> #include <cmath> using namespace std;
C++ Найти сумму элементов массива, которые больше своих "соседей" справа и слева В массиве из N элементов найти сумму тех элементов, которые больше своих "соседей" справа и слева. http://www.cyberforum.ru/cpp-beginners/thread162561.html
C++ OpenMP, создание потоков
В инете нашел много примеров по распараллеливание циклов, но никак не могу понять, как просто написать чтобы конкретная функция выполнялась в отдельном потоке? int main() { #pragma omp parallel { start_log("gsd", 34, "link", "proj"); } #pragma omp parallel {
C++ Программа работы с дробями (консоль)
Десятичные дроби. Нужно чтобы программа умела: делить, умножать, складывать и вычитать и построена обязательно на классах, код не мой и разобраться в нём довольно трудно, плюс "консоль" что не мой конёк.... Вот код который у меня есть, но он не работает. Помогите кто чем может. P.S. Код был написан на MS Visual C++в отличие от привычного мне "Borland'a/CodeGear #include <iostream> #include...
C++ Самоудаление программы http://www.cyberforum.ru/cpp-beginners/thread162507.html
возможно ли, удаление самой себя проги сразу после запуска, на крайняк по окончанию работы, и как это осуществить?
C++ Разбить на классы Написала программу для игры в покер, но поскольку программировать я начала недавно, то забила все в один класс. Но получилось как-то не очень красиво и читать тяжеловато. Помогите пожалуйста разбить программку на 3 класса: Pack, On_hands и Prize. #include <iostream> #include <time.h> const int NotUsed=system("color 24"); using namespace std; class Pack { подробнее

Показать сообщение отдельно
NightmareZ
 Аватар для NightmareZ
1336 / 559 / 37
Регистрация: 31.03.2009
Сообщений: 1,907
31.08.2010, 01:21     Найти 1+2+3+...+n рекурсивно и итеративно
Цитата Сообщение от easybudda Посмотреть сообщение
получится самый, что нинаесть функтор, пригодный для более широкого применения, чем просто вывод суммы на экран...
Например?

Цитата Сообщение от easybudda Посмотреть сообщение
кстати, если в примере из 6 поста строчку
C++
1
const int sum = Sum<5>::value;
поменять на
C++
1
const int sum = Sum<0>::value;
оно и не скомпилируется, про отрицательные числа и говорить не приходится
Ну логично же. Оно не скомпилируется и выдаст ошибку компиляции. Очень логично. Программа выдаёт ошибки во время работы, метапрограмма - во время компиляции.

Цитата Сообщение от easybudda Посмотреть сообщение
да и как это чудо использовать, если значение должно не константой задаваться? При моём подходе во-первых не сложно проверку входных данных устроить, во-вторых использовать просто...
А здесь всё ещё более логично. "Чудо" это вычисляется во время компиляции. Очевидно, что в готовой программе вместо "чуда" мы имеем константу. Отсюда несложно сделать вывод, что вычислить можно сумму только из тех значений, которые на момент компиляции известны. Я же нигде не писал, что оно будет работать в рантайме, ведь правда? И в ТЗ ничего об этом сказано небыло.

А по поводу того, что ты подставил ноль вместо пяти: нужна сумма первых нуля элементов? Она равна нулю!

Цитата Сообщение от easybudda Посмотреть сообщение
При моём подходе во-первых не сложно проверку входных данных устроить, во-вторых использовать просто...
Твой подход не нужен, потому что вместо него гораздо удобнее фунции, описанные другими товарищами тут в теме до тебя.

Добавлено через 8 минут
Цитата Сообщение от Lavroff Посмотреть сообщение
Кстати, а в конструкторе нормально выполнять все нужные операции или все же лучше в конструкторе проводить только инициализацию?
Я думаю, правильно так:
  1. Нечто внешнее по отношению к данному коду инициализирует функтор (если нужно какими-то данными).
  2. Данный код получает функтор, вызывая его передаёт ему какие-то свои параметры и функтор на основе их и того, что ему было заложено в предыдущем шаге, делает вычисления / что-то полезное.
 
Текущее время: 04:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru