AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

array an funktion übergeben

Ein Thema von mojo777 · begonnen am 8. Mär 2004 · letzter Beitrag vom 9. Mär 2004
Antwort Antwort
mojo777

Registriert seit: 10. Sep 2003
402 Beiträge
 
#1

array an funktion übergeben

  Alt 8. Mär 2004, 14:43
Hallo,

ich habe demnächst vor arrays an eine funktion zu übergeben und würde mich gerne vorab informieren wie das funktioniert. also ob man da irgendetwas besonderes bechten muss.

oder klappt auch sowas wie:

Delphi-Quellcode:
function suche_den_dicksten(haufen: type of array)
var wert, i: Integer;

  begin
  wert:=haufen[1];
    for i:=1 to length(haufen) do
      begin
        if haufen[i]>wert then wert:=haufen[i];
      end;
  end;

suche_den_dicksten(viele_steine); //viele_steine: type of array;
//oder sooo... das mit der deklaration habe ich noch nicht
//so richtig drin.... welchsele ständig zwischen php und
//delphi und finde das bei delphi eigentlich recht nerfig....
//aber naja... es hat auch ab und zu seine vorteile.
vielen dank im voraus.
Muh macht die kUh
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#2

Re: array an funktion übergeben

  Alt 8. Mär 2004, 14:53
Delphi-Quellcode:
function suche_den_dicksten(haufen: ARRAY OF INTEGER)
var wert, i: Integer;
begin
  wert:=0;
  for i:=low(haufen) to high(haufen) do
    if haufen[i]> wert then
      wert:=haufen[i];
  result:= wert; // wir wollen den Wert zurück geben.
end;
Hab' das nur mal freihand geschrieben (ungetestet).
Noch Fragen?
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
mojo777

Registriert seit: 10. Sep 2003
402 Beiträge
 
#3

Re: array an funktion übergeben

  Alt 8. Mär 2004, 15:13
jau... ein return muss sein.
hmm und wie übergebe ich ein array an die funktion ? mit suche_den_dicksten(name); oder
suche_den_dicksten(name[]); ?
Muh macht die kUh
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#4

Re: array an funktion übergeben

  Alt 8. Mär 2004, 15:55
Hallo,
das Beste ist Du erstellst Dir einen Typen für das Array;
Delphi-Quellcode:
Type
  TMyArray = Array[0..9] of Integer;
  TDynIntArray = Array of Integer;
...
function MyFunction(aArray : TMyArray);
...
function MyFunction(aArray : TDynIntArray);
...
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von atreju2oo0
atreju2oo0

Registriert seit: 5. Dez 2003
Ort: Berlin
289 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: array an funktion übergeben

  Alt 8. Mär 2004, 15:56
Du brauchst...
type TMeinArray : array[1..10]of integer; var meinArray:TMeinArray;
und Jetzt kannst Du die Procedure so deklarieren :

procedure Haufensuchen(haufen:TMeinArray);
im Programm also meinArray ausfüllen und dann einfach mit

Haufensuchen(meinArray); abschicken;

Wenn Du einen Rückgabewert haben willst aus der procedure einfach ne Function machen....
Thomas
  Mit Zitat antworten Zitat
mojo777

Registriert seit: 10. Sep 2003
402 Beiträge
 
#6

Re: array an funktion übergeben

  Alt 8. Mär 2004, 22:44
alles klar. besser kanns man wohl nicht erklären.
vielen dank!
Muh macht die kUh
  Mit Zitat antworten Zitat
Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#7

Re: array an funktion übergeben

  Alt 9. Mär 2004, 09:33
Guten Morgen mojo777,
lass mich Dir noch kurz einen kleinen Denkanstoß geben:
Wie ich hier sehe, greifst Du "lediglich" lesend auf das Array zu.- Deine Funktion möchte den
größten Wert des Arrays zurückgeben. Falls Deine Funktion ausschließlich für dieses
einzige (!) Array funktionieren soll und nicht auf mehrere Arrays zugreifen soll, dann brauchst Du
das Array gar nicht als Werteparameter an die Funktion zu übergeben. Programmierer machen das
unterschiedlich, ist Geschmacksache.
Dazu folgende Variante (ungetestet):
Delphi-Quellcode:
//--------- globale Variablen -----------------------

CONST min = 0; // untere Grenze des Arrays
CONST max = 5000; // obere Grenze des Arrays

VAR haufen : Array[min..max] of integer;

//---------------- Funktion --------------------------

function suche_den_dicksten; // hier stehen KEINE PARAMETER drin!
var wert, i: Integer;
begin
  wert:=0;
  for i:=min to max do // verwende globale Konstanten
    if haufen[i]> wert then // verwende globales Array (lesend)
      wert:=haufen[i];
  result:= wert; // wir wollen den Wert zurück geben. ;-)
end;
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz