Форум программистов, компьютерный форум 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 вещественных элементов, вычислить: Сумму элементов массива с нечетными номерами. подробнее

Показать сообщение отдельно
Nixy
ComfyMobile
 Аватар для Nixy
399 / 280 / 8
Регистрация: 24.07.2012
Сообщений: 916
10.01.2013, 16:51     Написал программку с рекурсией. Не могу понять, почему не изменяется аргумент.
Цитата Сообщение от IvanInanovich Посмотреть сообщение
господин Nixy
господ отпенили еще в 19 веке, у вас в алгоритме ошибка, для нахождения НОД Евклидом необходимо менять местами аргументы,если 1 больше другого, + возвращение не 2*на нод(а,а-б), так как в предыдушем топике был бинарный алгоритм, то там во 1 смотрелись степени 2, а умножение на 2 было за счет того что и а и б делили на 2,вот код классического алгоритма Евклида
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
#include<iostream.h>
#include "windows.h"
 
using namespace std;
 
int NOD(int a, int b)
{
    if (b == 0 )    return a;
    if (a == 0 )    return b;
 
    if (a > b) {
       return NOD(a-b,b);
    }  else {
        return NOD(a,b-a);
    }
}
 
int main()
{
    int a,b=24;
    cout << "Enter number: ";
    cin >> a;
    cout << endl;
    cout << "Total: ";
    cout << NOD(a,b);
   return 0;
}
а на что у вас компилятор ругался при объявлении ссылки?, наверно препдоложу в заголовке функции забыли поменять а в реализации поменяли
 
Текущее время: 12:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru