[C++] Problem z osobną funkcją POMOCY !

0

Witam !
Mam następujący problem... w osobnej funkcji mam napisany generator liczb losowych który dla podanej przez nas wartości wypisze nam N losowych liczb, następnie wyświetli nam która jest największa. Moje pytanie brzmi czy jest możliwość przypisania wartości "max" np "bestatak" by moc z niej potem spokojnie korzystać i liczyć inne max wylosowane liczby ?

Oto kod :



#include <iostream> 
#include <ctime> 

using namespace std; 

 
const int MaxLiczba = 6;
int losowanie(int IloscLiczb);
int main()
{
    
    int IloscLiczb,atak,max,abest,obest,cbest;
    
    cout<<"Podaj ilosc atakujacych : ";
    cin>>atak;
    cout<<"Podaj ilosc atakujacych : ";
    cin>>obrona;
    
  
    //  i tu zaczynają się schody
    
    losowanie(atak);
    abest=max*1;
    
        
    cout<<"Najwieksza wartosc to: "<<abest<<endl;
   
    losowanie(obrona);
    obest=max*1;
    
    cout<<"Najwieksza wartosc to: "<<obest<<endl;


    // takie coś bym mógł wykonywać np. takie działania //

   cbest=abest+obest;
   cout<<cbest;
    
    
    
    srand(static_cast<int>(time(NULL)));
    cout<<"Ile razy rzucic kostka : ";
    cin >>IloscLiczb;
    losowanie(IloscLiczb);
    
    system("pause"); 
    return 0; 
}

 

// Funkcja losowania //
int losowanie(int IloscLiczb)
{
    int best;
    int* liczby = new int[IloscLiczb];
    for (int i=0;i<IloscLiczb;i++)
    {
        liczby[i]=rand()%MaxLiczba+1;
        cout<<liczby[i]<<" ";
    }
    cout << '\n';
    int max=liczby[0];
    for(int i=0;i<IloscLiczb;++i)
        if(liczby[i]>max)
            max=liczby[i];
    cout<<"Najwieksza wartosc to: "<<max<<endl;
     
    

    
}    
// Koniec funkcji losowania
 
0

tak, możesz tak zrobić..
w funkcji losuj brakuję ci return. Bo ona musi w końcu zwrócić inta,,

0

mógłbyś pokazać na moim kodzie ? Bo zwraca mi strasznie dziwne wyniki :/

0

Po pierwsze, ten kod nie ma prawa działać. Wczytujesz zmienną obrona a nie jest nigdzie zadeklarowana. Po drugie w funkcji losuj piszesz na końcu:
return max;
lub inną zmienną którą chcesz zwrócić a w main możesz napisać
int wartosc= losuj(zmienna);

0

brak deklaracji to przeoczenie bo edytowałem kod w przeglądarce na forum. Biorę się za zmianę i sprawdzę czy coś pomogło! Dzięki wielkie !

Ok !

Działa świetnie !
Jeszcze raz dzięki za pomoc !

1 użytkowników online, w tym zalogowanych: 0, gości: 1