Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2012, 16:58   #1
Че Гевара
Форумчанин
 
Аватар для Че Гевара
 
Регистрация: 25.09.2012
Сообщений: 182
По умолчанию Нахождение НОД функцией

Написал прогу для нахождения НОД при сокращении дроби, но при компиляции вылазит ошибка.Помогите её найти
Код:
#include <stdio.h>
#include <conio.h>
int NOD(int chislitel, int znamenatel)
{
int ostatok1, ostatok2, N = 2, NOD = 1;
    while(N <= chislitel)
	{
	ostatok1 = chislitel % N;
	ostatok2 = znamenatel % N;
	    if(ostatok1 == 0 && ostatok2 == 0)
		{
		NOD = N;
		}
	N++;
	}
return NOD;
}
main()
{
int chislitel, znamenatel, nod;
scanf("%d/n", &chislitel);
scanf("%d/n", &znamenatel);
nod(chislitel, znamenatel);
printf("%d", nod);
getch();
}
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Brian W. Kernighan.
Че Гевара вне форума Ответить с цитированием
Старый 12.10.2012, 17:13   #2
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

С++ - регистрозависимый язык. Объявленная вами функция должна возвращать результат. следовательно
Код:
nod(chislitel, znamenatel);
printf("%d", nod);
нужно заменить на

Код:
int rezult = NOD(chislitel, znamenatel);
printf("%d", rezult);
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 12.10.2012, 17:54   #3
Axrik
Форумчанин
 
Аватар для Axrik
 
Регистрация: 17.12.2011
Сообщений: 111
По умолчанию

Кроме того, что сказал sVasilich у вас ещё и функция вызывается неправильно
(в С++ заглавные и маленькие буквы различны для компилятора)
Axrik вне форума Ответить с цитированием
Старый 12.10.2012, 17:57   #4
Че Гевара
Форумчанин
 
Аватар для Че Гевара
 
Регистрация: 25.09.2012
Сообщений: 182
По умолчанию

Спасибо, заработало
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать.
Brian W. Kernighan.
Че Гевара вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нахождение НОД Мария17 Общие вопросы .NET 1 25.05.2011 18:31
Нахождение НОД Egorka1990 Помощь студентам 4 22.12.2010 22:44
Нахождение НОД двух чисел awlol Помощь студентам 2 28.11.2010 22:52
Нахождение НОК и НОД на ассемблере Ханако Сейсин Помощь студентам 2 09.11.2010 17:25
матрица, массив, нахождение нод leraaa Помощь студентам 0 18.04.2010 23:07