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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
#1

Вычислить НОД - C++

17.11.2012, 23:55. Просмотров 828. Ответов 6
Метки нет (Все метки)

Здравствуйте, у меня появилась проблема, написал программу которая вычисляет НОД, но функция не вызывает себя второй раз...
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
#include <iostream>
#include <conio.h>
using namespace std;
 
void NOD(int, int);
int main()
{
    int K, L;
    cin >> K >> L;
    NOD(K, L);
    getch();
    return 0;
}
void NOD(int a, int b)
{
    if (a > b) 
        a = a -b;
    else b = b - a;
    if (b == 0)
    {
        cout << a;
        return;
    }
    NOD(a, b);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2012, 23:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить НОД (C++):

Подскажите где ошибка в нахождени НОД. Вводятся два числа a b и они должны лежать в промежутке d1 d2. с-НОД - C++
#include &quot;stdafx.h&quot; #include #include #include #include #include #include // для system using namespace std; int...

Заданы натуральные числа m и n. Найти НОД(m,n) Составить программу которая будет содержать рекурсивную функцию вычисления НОД...... - C++
Заданы натуральные числа m и n. Найти НОД(m,n) Составить программу которая будет содержать рекурсивную функцию вычисления НОД, которая...

Вычислить НОД (наибольший общий делитель) двух натуральных чисел A и B - C++
Задача 4. Вычислить НОД (наибольший общий делитель) двух натуральных чисел A и B.

Вычислить НОД (наибольший общий делитель) двух целых чисел - C++
1. Написать программу, вычисляющую НОД (наибольший общий делитель) двух целых чисел. Поиск НОД вынести в отдельную функцию. 2. Написать...

НОД - C++
Написать программу которая из двух чисел x и y ищет наибольший общий делитель

НОД - C++
Нужно доработать код, чтобы находить НОД трех чисел, пожалуйста) #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;locale.h&gt; using...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
18.11.2012, 00:02 #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
#include <iostream>
#include <conio.h>
using namespace std;
 
void NOD(int, int);
int main()
{
    int K, L;
    cin >> K >> L;
    NOD(K, L);
    getch();
    return 0;
}
void NOD(int a, int b)
{
    while ((a != 0) && (b != 0))
    {
        (a > b) ? (a %= b) : (b %= a);
    }
    if (a != 0)
        cout<< a<<"\n";
    else
        cout<< b<<"\n";
        cin>>a>>b;
        NOD(a,b);
}
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
18.11.2012, 00:07  [ТС] #3
C++
1
  (a > b) ? (a %= b) : (b %= a);
Объясни строчку пожалуйста
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
18.11.2012, 00:09 #4
это аналог
C++
1
2
3
 if (a > b) a %= b;
        else
          b %= a;
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
18.11.2012, 00:13  [ТС] #5
Твоя пример не работает, у меня выводится 1 число и все...
tokar2
25 / 25 / 1
Регистрация: 09.11.2012
Сообщений: 229
18.11.2012, 00:13 #6
Цитата Сообщение от d3n1sk4 Посмотреть сообщение
Твоя пример не работает, у меня выводится 1 число и все...
а сколько должно вывести?
d3n1sk4
3 / 3 / 1
Регистрация: 11.11.2012
Сообщений: 29
18.11.2012, 00:22  [ТС] #7
Цитата Сообщение от tokar2 Посмотреть сообщение
а сколько должно вывести?
Извени я запутался мальца

Добавлено через 6 минут
C++
1
(a > b) ? (a %= b) : (b %= a);
И еще вопрос, почему тут стоит %? ведь нужно же поидее -?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.11.2012, 00:22
Привет! Вот еще темы с ответами:

C++ НОД - C++
Создать функцию, вычисляющую НОД. Использую эту функцию, найти наибольший общий делитель элементов одномерного массива из 10-элементов. ...

НОД - C++
Извиняюсь за вопрос, просмотрел все но не нашел того, что нужно Задание: Найти НОД 2 чисел # include &lt;iostream&gt; # include...

Нод - C++
Даны два числа a и b. Найти их НОД (наибольший общий делитель). Название Размерность Тип a 8 ...

Вычисление НОД - C++
Составить программу для вычисления НОД двух натуральных чисел вот еще одна програмка.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.11.2012, 00:22
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru