Rückgabewert von Funktionen

Gast #4371739
Lesenswert?

Hans schrieb:
> und vllt sogar mehrere?

Die Funktion kann einen Zeiger übergeben. Dieser Zeiger kann auf alles 
mögliche zeigen, auch auf ein Array oder eine Struktur von Arrays.

Allerdings ist es oft sinnvoller, der Funktion das/die Arrays "by 
Reference" als Parameter zu übergeben, und die Funktion ändert dann das 
übergebene Array.
Moderator #4372455
Lesenswert?

Hans schrieb:
> ist es möglich von einer Funktion ein Array zu übergeben?

Natürlich.

> und vllt sogar mehrere?

Wieviele hättest du denn gerne?

Zwei? Beliebig viele? Unendlich viele?

Alles geht :)


Hier ist ein kleines Beispiel in Haskell, das Binomialkoeffizienten
berechnet und in Arrays speichert:

1
import Data.Array
2

3
-- Array mit Binomialkoeffizienten (n über k) für k = 0..n
4
binCoeffArray n = listArray (0,n) $ scanl (\b k -> b * (n+1-k) `div` k) 1 [1..n]
5

6
-- Zwei (ein Paar von) Arrays mit Binomialkoeffizienten
7
binCoeffArrayPair n1 n2 = (binCoeffArray n1, binCoeffArray n2)
8

9
-- Viele (eine Liste von) Arrays mit Binomialkoeffizienten
10
binCoeffArrayList = map binCoeffArray
11

12
-- Beispiele
13
arr          = binCoeffArray 4              -- einzelnes Array
14
(arr1, arr2) = binCoeffArrayPair 3 5        -- zwei Arrays als Paar
15
arrList      = binCoeffArrayList [3, 5, 6]  -- drei Arrays als Liste
16
infArrayList = binCoeffArrayList [0..]      -- unendliche viele Arrays als Liste
17
                                            -- (Pascalsches Dreieck)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren