Что С Программой Не Так.помогите Исправить.

victory

New member
04.11.2014
4
0
#1
#include<iostream>
#include<math.h>

using namespace std;

void NOD(int *n,int *m)
{
if(n<m)
{
int buf=*n;
*n=*m;
*m=buf;
}
for(int i=*m;i>=1;i--)
if(*n%i==0 && *m%i==0)
{
cout<<"NOD=";
}
return;
}

void NOK(int *n,int *m)
{
int NOK;
{
NOK=(*n)*(*m)/NOD;
}
cout<<"NOK=";
return;
}

int main()
{
int n,m;
cin>>n>>m;
NOD(&n,&m);
NOK(&n,&m);
system("pause");
return 0;
}
Выдает ошибки:
Ошибка 1 error C2297: /: недопустимо, правый оператор имеет тип "void (__cdecl *)(int *,int *)"
2 IntelliSense: выражение должно иметь арифметический или перечисляемый тип
Я не могу вникнуть и понять суть ошибки ^_^
Заранее благодарю.
 
W

Whatka

#2
Используйте пожалуйста подсветку кода (выделяете текст и жмёте кнопочку С++ ).

Вы используете в функции NOK не объявленную переменную NOD.
 

victory

New member
04.11.2014
4
0
#3
Используйте пожалуйста подсветку кода (выделяете текст и жмёте кнопочку С++ ).

Вы используете в функции NOK не объявленную переменную NOD.
Это типа так объявить переменную NOD в моем случае?
C++:
void NOK(int *n,int *m)
{
int NOK;
int NOD=NULL;
{
NOK=(*n)*(*m)/NOD;
}
cout<<"NOK=";
return;
}
Но программа все равно не работает. :lol:
 
23.08.2014
16
0
#4
Это типа так объявить переменную NOD в моем случае?
C++:
void NOK(int *n,int *m)
{
int NOK;
int NOD=NULL;
{
NOK=(*n)*(*m)/NOD;
}
cout<<"NOK=";
return;
}
Но программа все равно не работает. :lol:
NOD = 0. Потом какое то число делится на 0( NOK=(*n)*(*m)/NOD; ). К тому же NOK инициализируется в локально области - значение NOK, при выходе из неё, уничтожится.