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

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

Войти
Регистрация
Восстановить пароль
 
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
#1

Вычисление НОД. не могу понять где ошибка. - C++

28.11.2010, 21:39. Просмотров 384. Ответов 5
Метки нет (Все метки)

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 "stdio.h"
#include "conio.h"
 
int NOD (int x,int y)
{
while (x!=y)
{
    if (x>y) {x==x-y;};
    if (y>x) {x==y-x;};
};
return x;
}
 
 
void main()
{
    int a,b,isk;
printf("Enter pervoe chislo\n");
scanf("%d",&a);
printf("Enter vtoroe chislo\n");
scanf ("%d",&b);
isk=NOD(a,b);
printf ("NOD:=%d",isk);
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2010, 21:39     Вычисление НОД. не могу понять где ошибка.
Посмотрите здесь:

C++ Не могу понять где ошибка ?
C++ тимус, не могу понять, где ошибка
Не могу понять где ошибка C++
Не могу понять где ошибка C++
не могу понять где ошибка,структура в с++. C++
не могу понять где ошибка в 9 строке C++
C++ Не могу понять где ошибка!
C++ Не могу понять где ошибка
Где ошибка в коде?Не могу понять C++
C++ Не могу понять где ошибка
Не могу понять где ошибка в программе C++
Не могу понять где ошибка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
28.11.2010, 21:58     Вычисление НОД. не могу понять где ошибка. #2
не могу понять где ошибка
Наверное она здесь:
C++
1
2
3
4
5
6
7
8
9
int NOD (int x,int y)
{
while (x!=y)
{
        if (x>y) {x==x-y;};
        if (y>x) {x==y-x;};
};
return x;
}
Виктор92
1 / 1 / 0
Регистрация: 18.11.2010
Сообщений: 9
28.11.2010, 22:09     Вычисление НОД. не могу понять где ошибка. #3
Цитата Сообщение от enotik Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdio.h"
#include "conio.h"
 
int NOD (int x,int y)
{
while (x!=y)
    if (x>y) 
                    x=x-y;
    else 
                    y=y-x;
return x;
}
ололо
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
28.11.2010, 22:10  [ТС]     Вычисление НОД. не могу понять где ошибка. #4
-comrade-
вполне логично)

а по конкретней нельзя???
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
28.11.2010, 22:13     Вычисление НОД. не могу понять где ошибка. #5
enotik, Юзайте рекурсию товарисч.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <cmath>
 
int nod(int a, int b)
{
    return (!b) ? abs(a): nod(abs(b), abs(a%b));
}
 
int main()
{
    std::cout<< nod(100, 150) <<'\n';
    return 0;
}
enotik
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 147
28.11.2010, 22:18  [ТС]     Вычисление НОД. не могу понять где ошибка. #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 "stdio.h"
#include "conio.h"
 
int NOD (int x,int y)
{int c=0;
while (x!=y)
{
    if (y>x) {c=y,y=x,x=c;};
    x=x-y;
};
return x;
}
 
 
void main()
{
    int a,b,isk;
printf("Enter pervoe chislo\n");
scanf("%d",&a);
printf("Enter vtoroe chislo\n");
scanf ("%d",&b);
isk=NOD(a,b);
printf ("NOD:=%d",isk);
 
}
Yandex
Объявления
28.11.2010, 22:18     Вычисление НОД. не могу понять где ошибка.
Ответ Создать тему
Опции темы

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