Wpis z mikrobloga

#cpp #programowanie

Kolejne problemy początkującego programisty.

Muszę napisać rekurencyjną funkcję maximum. Mam tablicę i ilość jej elementów. Całość ma być zrobiona na wskaźnikach.

Na chwilę obecną doszedłem do tego:



int
```**```
* maksimum ( 
```**```
int
```**```
 N, 
```**```
int
```**```
 *t ) {   

    
```**```
if
```**```
 ( N == 0 )

        
```**```
return
```**```
 t + 0;

    
```**```
if
```**```
 ( *( t + N ) > *( maksimum ( N - 1, t )) ) 

        
```**```
return
```**```
 t + N;

}

```Wywołanie dla tablicy int t[] = {1,2,3,4,5,6};```

cout << *maksimum ( 6, t );

Nie mam pomysłu, jak to ruszyć inaczej. Czy byłby ktoś tak miły i choć trochę mnie nakierował?
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@jedentrylion: sprawdź co będzie jak dodasz na końcu

return maksimum ( N - 1, t );
zasadniczo przy kompilacji masz teraz

warning C4715: 'funkcja' : not all control paths return
  • Odpowiedz
@jedentrylion: ta zmienna zm jest niepotrzebna, dobrze miałeś, no i nie musisz dodawać "else if" bo jak wejdzie do ifa to pójdzie do returna to i tak dalej nie idzie, a jak nie wejdzie to po prostu dajesz 1 linijke z returnem :)
  • Odpowiedz