AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Array mit Zufallszahlen

Ein Thema von holle · begonnen am 22. Okt 2008 · letzter Beitrag vom 22. Okt 2008
Antwort Antwort
holle

Registriert seit: 15. Nov 2005
Ort: Uckerland
138 Beiträge
 
Delphi 7 Enterprise
 
#1

Array mit Zufallszahlen

  Alt 22. Okt 2008, 15:14
Dieses einfache Programm soll 10 Zufallszahlen erzeugen und anschließend ausgeben. Als Ausgabe erhalte ich jedoch 0 0 0... Was mache ich falsch?

Delphi-Quellcode:
program min_array;
uses
        crt;
const
        LENGTH = 10;
var
        zufall: array[0..LENGTH] of integer;

procedure fillArray(a: array of integer);
var i: integer;
begin
        for i := 0 to LENGTH - 1 do
                a[i] := random(100) + 1;
end;

procedure printArray(a: array of integer);
var i: integer;
begin
        for i := 0 to LENGTH - 1 do
                writeln(a[i]);
end;


begin
        randomize;
        clrscr;

        fillArray(zufall);
        printArray(zufall);

        readln;
end.
Marcel
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Array mit Zufallszahlen

  Alt 22. Okt 2008, 15:15
Ersetze in den Prozedurköpfen 'a : Array ...' durch 'Var a : Array'.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Array mit Zufallszahlen

  Alt 22. Okt 2008, 15:19
Und ruf
randomize; nur einmal auf - nicht jedesmal

Am Besten im OnCreate
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Array mit Zufallszahlen

  Alt 22. Okt 2008, 15:23
Zitat von Helmi:
Und ruf
randomize; nur einmal auf - nicht jedesmal

Am Besten im OnCreate
Der Code, den er da zeigt, scheint von einer Konsolenanwendung zu sein. Der Teil, in dem Randomize aufgerufen wird, wird nur einmal ausgeführt.
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Array mit Zufallszahlen

  Alt 22. Okt 2008, 15:25
Versuch es mal mit Typisieren und Übergabe by Reference (ungetestet).
Delphi-Quellcode:
program min_array;
uses
        crt;
const
        LENGTH = 10;
type
        TZufall = array[0..LENGTH - 1] of integer;
var
        zufall: TZufall;

procedure fillArray(var a: TZufall);
var i: integer;
begin
        for i := 0 to LENGTH - 1 do
                a[i] := random(100) + 1;
end;

procedure printArray(var a: TZufall);
var i: integer;
begin
        for i := 0 to LENGTH - 1 do
                writeln(a[i]);
end;


begin
        randomize;
        clrscr;

        fillArray(zufall);
        printArray(zufall);

        readln;
end.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Array mit Zufallszahlen

  Alt 22. Okt 2008, 15:27
Zitat von DeddyH:
Versuch es mal mit Typisieren und Übergabe by Reference (ungetestet).
Muss garnicht sein, denn das hier funktioniert doch:
Zitat von alzaimar:
Ersetze in den Prozedurköpfen 'a : Array ...' durch 'Var a : Array'.
Wobei var auch nur bei fillArray() stehen muss.
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Array mit Zufallszahlen

  Alt 22. Okt 2008, 15:29
Da bin ich mir bei TP eben nicht mehr so sicher, deshalb hab ich das so gemacht, sollte immer gehen

[edit] Durch das Var wird das eben zur Übergabe by Reference, oder nicht? Außerdem war sein Ursprungsarray ein Element zu groß, da typisiere ich lieber und arbeite mit dem Typen weiter, der hat dann immer die gleiche Größe. [/edit]

[edit2]
Zitat:
Wobei var auch nur bei fillArray() stehen muss.
Da hast Du Recht, das war überflüssig, stört aber auch nicht. [/edit2]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#8

Re: Array mit Zufallszahlen

  Alt 22. Okt 2008, 16:06
zufall: array[0..LENGTH] of integer; Kein so dramatischer Fehler, aber du reservierst ein Integer mehr, als du benutzt, da du in den Schleifen nur bis LENGTH-1 durchläufst. Also da noch -1 hin und die Namensgebung der Konstante macht Sinn.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:46 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