Forum: Compiler & IDEs Rückgabewert von Funktionen


von Hans (Gast)


Lesenswert?

HAllo,

ist es möglich von einer Funktion ein Array zu übergeben?

und vllt sogar mehrere?

von Peter II (Gast)


Lesenswert?

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

ja.

von NurEinGast (Gast)


Lesenswert?

Klar.
In der Visual Basic Hilfe findest Du :
   You return an array the same way you return any other data type.
   You supply the array type as the return type of the procedure or 
property.

von Der Andere (Gast)


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.

von (prx) A. K. (prx)


Lesenswert?

Vielleicht führst du das etwas näher auf, insbesondere den Zusammenhang 
der Frage mit dem Titel.

von Rene H. (Gast)


Lesenswert?

Naja, mich würde erst mal die Programmiersprache interessieren.....

Grüsse,
René

von Dussel (Gast)


Lesenswert?

[Y,Z]=Funktion(A,B)
Sollte mit allen Typen von Y und Z gehen.

von Norbert (Gast)


Lesenswert?

Hans schrieb:
> HAllo,
>
> ist es möglich von einer Funktion ein Array zu übergeben?
>
> und vllt sogar mehrere?

Man kann sogar ganze 'dictionaries' zurück geben.
Aber auch lists, tuples, und Kombinationen derselben, usw.

von Yalu X. (yalu) (Moderator)


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)

von Sven B. (scummos)


Lesenswert?

Yalu X. schrieb:
> Hier ist ein kleines Beispiel in Haskell, das Binomialkoeffizienten
> berechnet und in Arrays speichert:
+1 für Haskell, das ist immer genau die Sprache die Leute meinen die 
nicht dazu sagen mit welcher Sprache sie arbeiten

von Mark B. (markbrandis)


Lesenswert?

Yalu X. schrieb:
> 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 :)

Auch in Brainfuck? :)

von Yalu X. (yalu) (Moderator)


Lesenswert?

Mark B. schrieb:
> Yalu X. schrieb:
>> ...
>> Alles geht :)
>
> Auch in Brainfuck? :)

Nein, da es in Brainfuck es weder Funktionen noch Arrays gibt :)

von Rene H. (Gast)


Lesenswert?

Yalu X. schrieb:
> Nein, da es in Brainfuck es weder Funktionen noch Arrays gibt :)

Aber Rekursionen ohne Abbruchbedingung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.