• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

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

  • Автор темы victory
  • Дата начала
V

victory

#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

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

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

victory

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

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

Evgeniy

Это типа так объявить переменную 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, при выходе из неё, уничтожится.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!