Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Ausgabe arraywert (https://www.delphipraxis.net/202551-ausgabe-arraywert.html)

kamanah 16. Nov 2019 09:32

Delphi-Version: 10.3 Rio

Ausgabe arraywert
 
Hallo!
Ich muss ein Programm mit einer Funktion erstellen, die das Mimimum eines Feldes mit Zufallszahlen ermittelt. Ich habe Probleme bei der Ausgabe, da dynamic array und integer nicht kompatibel sind. Wie kann ich das beheben?

Delphi-Quellcode:
function minimum(n,m:integer):integer;
var zahlen1: array of integer;
begin
result:=Minintvalue(zahlen1);
end;

procedure TForm1.Button1Click(Sender: TObject);
var a,b,c,i: integer; zahlen2: array of integer;
begin
a:=Strtoint(edit1.Text);
b:=Strtoint(edit2.Text);

for i := 1 to a do begin
  zahlen2[i]:=random(b);
  memo1.Lines.add(inttostr(zahlen2[i]));

  end;
c:=minimum[zahlen2];
edit3.Text:=inttostr(c);

end;

Ich weiß, dass dieses Programm sehr amateurhaft ist, ich bin nur Schüler :wink:

TurboMagic 16. Nov 2019 12:08

AW: Ausgabe arraywert
 
Zitat:

Zitat von kamanah (Beitrag 1451402)
Hallo!
Ich muss ein Programm mit einer Funktion erstellen, die das Mimimum eines Feldes mit Zufallszahlen ermittelt. Ich habe Probleme bei der Ausgabe, da dynamic array und integer nicht kompatibel sind. Wie kann ich das beheben?

[snip]

Ich weiß, dass dieses Programm sehr amateurhaft ist, ich bin nur Schüler :wink:

Ok, hier mal dein Quelltext etwas besser formatiert, Zwecks Leserlichkeit
und mit Kommentaren versehen die Frageb beinhalten die du uns beantworten
solltest:

Delphi-Quellcode:
function minimum(n,m : Integer):Integer;
var
  zahlen1: array of integer;
begin
  // woher kommen die Werte des Arrays "zahlen1"?
  // dieser ist lokal und damit nur innerhalb von minimum gültig
  // und wo ist der Code deiner Minintvalue function?
  result := Minintvalue(zahlen1);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  a,b,c,i: integer;
  zahlen2: array of integer;
begin
  a := StrToInt(edit1.Text);
  b := StrToInt(edit2.Text);

  for i := 1 to a do
  begin
    // man hat euch hoffentlich beigebracht, dass vor Benutzung
    // von random in einem programm irgendwo randomize; aufzurufen ist?
    // in deinem Fall am besten vor der Schleife oder im OnCreate event der Form
    zahlen2[i] := random(b);
    memo1.Lines.add(IntToStr(zahlen2[i]));
  end;

  // du übergibst deiner minimum funktion hier ein ganzes Array, statt
  // zwei integer Werte. Die Definition deiner minimum functon sagt aber,
  // dass diese 2 Parameter vom Typ Integer will und nicht ein einzelnes
  // Integer-Array. Wie soll es denn nun sein?
  c := minimum[zahlen2];
  edit3.Text := IntToStr(c);
end;

Uwe Raabe 16. Nov 2019 12:13

AW: Ausgabe arraywert
 
Das Array
Delphi-Quellcode:
zahlen2
ist auch nicht initialisiert!

DieDolly 16. Nov 2019 14:09

AW: Ausgabe arraywert
 
Zitat:

Das Array zahlen2 ist auch nicht initialisiert!
Und wenn wir schonmal dabei sind. Bitte fange deine Zählung bei 0 an so wie es sich gehört und nicht bei 1!

DeddyH 16. Nov 2019 15:17

AW: Ausgabe arraywert
 
Wenn man über das Array iteriert, würde ich die Schleife von Low() bis High() laufen lassen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:47 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