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

Прокомментировать код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сформировать из столбцов матрицы В, не содержащих равных элементов, матрицу С http://www.cyberforum.ru/cpp-beginners/thread441533.html
Напишите, помогите... Разобраться толком не могу Сформировать из столбцов матрицы В, не содержащих равных элементов, матрицу С размером m*k, где k<=n - кол-во таких столбцо. В матрице С вычислить сумму элементов строк, номера которых определяются номерами ненулевых элементов заданного вектора Добавлено через 26 минут http://www.cyberforum.ru/pascalabc/thread263683.html здесь написана...
C++ Реверс массива Задание такое: Нужно сделать массив из 30 чисел, чтобы он отображался на экране наоборот и по 3 числа в столбик, при этом поменять столбики между собой я так понял вид должен быть: 26 25 24 29 28 27 20 19 18 23 22 21 14 13 12 17 16 15 8 7 6 11 10 9 http://www.cyberforum.ru/cpp-beginners/thread441530.html
C++ Методы статиеские и обычные
Во многих языках одни и те же действия реализуются как методами, работающими на уровне классов (статические методы), так и методами на уровне экземпляров (обычные методы). Правильно ли считать, что статический метод , как правило более эффективен своего нестатиеского аналога?
невычисляет дробовое число C++
хочу написать программу для вычисления суммы ряда 1-1/3+1/5-1/7+1/9... вроде как написал программу, но чото компилятор матюкается немогу понять почему #include "stdafx.h" using namespace std; long double i, x, sum; int main() { cout<<"ryad\n"; cout<<"posl\n";
C++ Cколько будет палиндромов в промежутке от 1...9000 при возведении в квадрат? http://www.cyberforum.ru/cpp-beginners/thread441507.html
вопрос на логику: сколько будет палиндромов в промежутке от 1...9000 при возведении в квадрат? Тоесть берем для начала 1. Возводим в квадрат 1*1=1. Вывод - палиндром. Дальше берем 2 и так к 9000. Добавлено через 11 минут к 100 точно 6 Добавлено через 17 часов 43 минуты ответ: 19
C++ Задача о конвертах и открытках Всем привет! Нужно решить вот эту задачку: Имеется N прямоугольных конвертов и N прямоугольных открыток различных размеров. Можно ли разложить все открытки по конвертам, чтобы в каждом конверте было по одной открытке? Замечание. Открытки нельзя складывать, сгибать и т.п., но можно помещать в конверт под углом. Например, открытка с размерами сторон 5:1 помещается в конверты с размерами 5:1,... подробнее

Показать сообщение отдельно
zago-vlad
13 / 8 / 1
Регистрация: 12.01.2010
Сообщений: 106

Прокомментировать код - C++

07.02.2012, 01:38. Просмотров 321. Ответов 0
Метки (Все метки)

Всем привет!

Недавно нашел в интернете код функции для разбиения числа на слагаемые. Код был без комментариев, поэтому я так и не понял сам алгоритм. Прокомментируйте кто-нить (и желательно обьясните суть алгоритма):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#define MIN(x, y)  ((x) < (y) ? (x) : (y))
long a[1000];
 
void Partition(long n, long high, long pos)
{
   long i;
   if (n > 0)
   {
       for (i = 1; i <= high; i++)
       {
          a[pos] = i;
          Partition(n - i, MIN(i, n - i), pos + 1);
       }
   }
   else
   {
       for (i = 0; i < pos - 1;  i++)
          std::cout << a[i] << "+";
       std::cout << a[i] << "\n";
   }
}
Заранее спсибо!

Добавлено через 21 час 40 минут
Например, для n=4 прога выведет такое:
1+1+1+1
2+1+1
2+2
3+1
4
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru