1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программирован. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление
  2. Чат codeby в telegram перезагрузка. Обсуждаем вопросы информационной безопасности и методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие. Подробнее ...

    Скрыть объявление

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

Тема в разделе "Вопросы новичков и не только", создана пользователем victory, 9 дек 2014.

  1. victory

    victory New Member

    Репутация:
    0
    Регистрация:
    4 ноя 2014
    Сообщения:
    4
    Симпатии:
    0
    #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: выражение должно иметь арифметический или перечисляемый тип
    Я не могу вникнуть и понять суть ошибки ^_^
    Заранее благодарю.
     
  2. Whatka

    Whatka Well-Known Member

    Репутация:
    0
    Регистрация:
    9 окт 2011
    Сообщения:
    428
    Симпатии:
    4
    Используйте пожалуйста подсветку кода (выделяете текст и жмёте кнопочку С++ ).

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

    victory New Member

    Репутация:
    0
    Регистрация:
    4 ноя 2014
    Сообщения:
    4
    Симпатии:
    0
    Это типа так объявить переменную NOD в моем случае?
    Код:
    void NOK(int *n,int *m)
    {
    int NOK;
    int NOD=NULL;
    {
    NOK=(*n)*(*m)/NOD;
    }
    cout<<"NOK=";
    return;
    }
    Но программа все равно не работает. :lol:
     
  4. Evgeniy

    Evgeniy Member

    Репутация:
    0
    Регистрация:
    23 авг 2014
    Сообщения:
    16
    Симпатии:
    0
    NOD = 0. Потом какое то число делится на 0( NOK=(*n)*(*m)/NOD; ). К тому же NOK инициализируется в локально области - значение NOK, при выходе из неё, уничтожится.
     
Загрузка...

Поделиться этой страницей