Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > рекурсия


Автор: ivancom 4.12.2007, 23:28
Помгите, скажите как из выведеных значений мне найти максимальное и вывести его?
Вот вам листинг:
#include <iostream>
using namespace std;
void print_rek(int,int,int,int);
int main()

{
    wcout.imbue(locale(".866"));
    int i=1;
    int n;
    int m;
    int max1;
  wcout << L"Ââåäèòå ïåðâîå ÷èñëî "<<endl;
  cin >> n;
  wcout << L"Ââåäèòå âòîðîå ÷èñëî" <<endl;
  cin >> m;
 
    if (n<0)
        n=n*(-1);
    if(m<0)
        m=m*(-1);    
  if(n>m)
        max1=n;
    else
        max1=m;
    
    cout<<"qwe"<<n<<"nas"<<m<<endl;
    cout<<max1<<endl;
    cout<<"vania"<<endl;
      print_rek(i,max1,m,n);
      cout<<"vania"<<endl;
      
    return 0;
}
void print_rek(int i,int max1,int m,int n )

{
    
    
    if(n%i==0&&m%i==0)

      cout<<i<<endl;
    
    if(i<=max1)
        print_rek(i+1,max1,m,n);
    
    return;

}

Автор: Castro 5.12.2007, 01:22
ivancom, молодец!
Супер!В самую точку!
Это именно тот раздел, где можна  и нужно задавать такие вопросы на Вашем каждому понятном языке smile 

Автор: VampirDX 5.12.2007, 03:06
 smile      smile     smile      smile     smile 
 smile  smile  smile  smile  smile 
 smile    smile    smile   smile    smile 

Автор: zmejg 6.12.2007, 17:15
добавь глобальную переменную:         int maxi;
в функцию main() добавь:                     maxi =1;

а вместо 
if(n%i==0&&m%i==0)
           cout<<i<<endl;

пиши
if(n%i==0&&m%i==0) {
     if (maxi < i) maxi = i;
      cout<<i<<endl;
}

после завершения работы print_rek maxi будет содержать максимум.

Кстати, в чем смысл программы?

Автор: Solomon 6.12.2007, 19:52
кстати желательно уточнять.. что нужно найти. Максимальное или Максимальное по модулю...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)