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

Написал программку с рекурсией. Не могу понять, почему не изменяется аргумент. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поменять местами слово максимальной и минимальной длины. http://www.cyberforum.ru/cpp-beginners/thread757444.html
Поменять местами слово максимальной и минимальной длины. строки char*. Как это можно сделать? Слова в строке разделены пробелом или пробелами, знаками препинания.
C++ М - и Т- нумерацию для заданного графа Задание: Построить М - и Т- нумерацию для заданного графа. Немогли бы вы хотя бы обьяснить что это за нумерации такие? http://www.cyberforum.ru/cpp-beginners/thread757439.html
C++ Проблемы с чтением файла на c++
Задача: Сформировать массив данных с помощью структуры. Предметная область – данные о студентах имеющих публикации (номер по порядку, ФИО, адрес, количество статей). Отсортировать полученный список по полю «количество статей» (сортировка по убыванию). Вывод результатов оформить в виде таблицы. Использовать файлы для ввода-вывода данных. До вывода в файл ещё не добрался, проблемы на...
Проблемы с неполной спецификацией типа C++
Доброго времени суток! Подскажите пожалуйста, почему не компилируется? Я же прописал объявление(неполную спецификацию типа) класса T2. Ошибка: main.cpp(10): error C2027: use of undefined type 'T2' #include <iostream> #include <string> class T2;
C++ Разработать шаблон класса “множество” (реализация через список) http://www.cyberforum.ru/cpp-beginners/thread757411.html
Разработать шаблон класса “множество” (реализация через список). Тип элементов множества за- дается как параметр шаблона. Написать тестовую программу.
C++ В одномерном массиве, состоящем из n вещественных элементов, вычислить сумму элементов массива с нечетными номерами. В одномерном массиве, состоящем из n вещественных элементов, вычислить: Сумму элементов массива с нечетными номерами. подробнее

Показать сообщение отдельно
IvanInanovich
0 / 0 / 0
Регистрация: 03.01.2013
Сообщений: 113
10.01.2013, 18:21  [ТС]     Написал программку с рекурсией. Не могу понять, почему не изменяется аргумент.
Цитата Сообщение от Nixy Посмотреть сообщение
у вас в алгоритме ошибка, для нахождения НОД Евклидом необходимо менять местами аргументы,если 1 больше другого, + возвращение не 2*на нод(а,а-б), так как в предыдушем топике был бинарный алгоритм, то там во 1 смотрелись степени 2, а умножение на 2 было за счет того что и а и б делили на 2,вот код классического алгоритма Евклида
Благодарю за код. Делал такой же на вычитание, правда с помощью циклов. Ну тут я все без проблем понимаю.
Т.е. Вы хотите сказать, что в прошлом коде (бинарном) умножалась единица на 2, из-за того что там было деление до этого?
После вашего объяснения в прошлом топе, я был уверен что я понял что такое "2 * функция". Теперь снова запутался ) В данном случае, я пытался сделать "породию" на бинарный код, а именно на строку(2*NOD(х/2,y/2) что бы понять как работает "2*функция". Я полагал, что и тут пойдет обратный ход рекурсии. Как только программа нащупает ноль, пойдет реторн единица, и будет эта единица умножаться на 2, ровно 5 раз.

а на что у вас компилятор ругался при объявлении ссылки?, наверно препдоложу в заголовке функции забыли поменять а в реализации поменяли
Вроде все указал. И в прототипе, и в самой функции. Вот что показало:

2012\MyFistProject\main.cpp||In function 'int rekyrsia(int&, int&)':|
2012\MyFistProject\main.cpp|25|error: invalid initialization of non-const reference of type 'int&' from a temporary of type 'int'|
2012\MyFistProject\main.cpp|19|error: in passing argument 2 of 'int rekyrsia(int&, int&)'|
||=== Build finished: 2 errors, 0 warnings ===|
 
Текущее время: 16:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru