matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Schulmathe
  Status Primarstufe
  Status Mathe Klassen 5-7
  Status Mathe Klassen 8-10
  Status Oberstufenmathe
    Status Schul-Analysis
    Status Lin. Algebra/Vektor
    Status Stochastik
    Status Abivorbereitung
  Status Mathe-Wettbewerbe
    Status Bundeswettb. Mathe
    Status Deutsche MO
    Status Internationale MO
    Status MO andere Länder
    Status Känguru
  Status Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenPascalDelphi Initialisierung Array
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Geschichte • Erdkunde • Sozialwissenschaften • Politik/Wirtschaft
Forum "Pascal" - Delphi Initialisierung Array
Delphi Initialisierung Array < Pascal < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Pascal"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Delphi Initialisierung Array: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 00:14 Mo 02.01.2006
Autor: Phecda

hallo .. ich habe zwei arrays: Array1[1..100] und Array2[1..10000]. Die Werte dieser beiden Arrays sollen nun in einer for-schleife auf Null gesetzt werden:
for i := 1 to 10000 do
  array1[i] := 0;
  array2[i] := 0;
.. Es tritt hier ein Problem auf, das im ersten Zahlenfeld kein i > 100 stehen kann.. Wie löse ich dieses Problem ohne mehrere Schleifen zu benutzen.
Wäre schön, wenn jemand die Antwort mit der Delphi-Syntax beantworten könnte :) da unsere info-lehrer mit Delphi programmieren lassen..

THX mfg Phecda

        
Bezug
Delphi Initialisierung Array: if-Abfrage
Status: (Antwort) fertig Status 
Datum: 00:36 Mo 02.01.2006
Autor: Loddar

Hallo Phecda!


Mit einer korrekten Delphi-Antwort kann ich nicht dienen. Aber Du könntest ja eine if-Abfrage einbauen (zumindest vor dem ersten Array).

In der Art ...

1: if i <= 100 then
2: array1[i] := 0;


Für meinen Geschmack würde ich aber wirklich zwei Schleifen verwenden.


Gruß
Loddar


Bezug
                
Bezug
Delphi Initialisierung Array: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 01:15 Mo 02.01.2006
Autor: Phecda

Hallo .. danke vielmals .. mir ist das schon fast peinlich :D ... manchmal sieht man halt vor lauter bäumen den wald kaum ^^
mfg Phecda

Bezug
        
Bezug
Delphi Initialisierung Array: Antwort
Status: (Antwort) fertig Status 
Datum: 09:28 Mo 02.01.2006
Autor: Karl_Pech

Hallo Phecda,


[willkommenir]


> hallo .. ich habe zwei arrays: Array1[1..100] und
> Array2[1..10000]. Die Werte dieser beiden Arrays sollen nun
> in einer for-schleife auf Null gesetzt werden:
> for i := 1 to 10000 do
> array1 := 0;
>    array2 := 0;


> [i][i] .. Es tritt hier ein Problem auf


Da ist noch ein anderes Problem. Du hast vergessen den Schleifenrumpf in einen begin ... end - Block zu setzen. Sonst interpretiert der Compiler das als zwei Anweisungsteile:


1: for i := 1 to 10000 do 
2:   array1 := 0;



array2[i] := 0;


Ansonsten schließe ich mich Loddars Vorschlag an. Mach' zwei Schleifen daraus. Das ist sicherlich die schnellste Lösung (zumindest für große Arrays).

Wenn es unbedingt eine Schleife sein muß, und Du eine if-Abfrage vermeiden willst, kannst Du auch etwas "tricksen", indem Du array1 etwas größer machst: array1[[red]0[/red]..100] und dann folgenden Code benutzt:


for i := 1 to 10000 do
begin
array1[i div 100] := 0;
array2[i] := 0;
end;


Danach tust Du so als ob du array1 von 1..100 deklariert hättest, und beachtest array1[0] nicht mehr. (War hier nur ein Platzhalter.)

Allerdings ist auch diese "Lösung" ziemlich "daneben" ;-) [Da ist die Lösung mit der if-Abfrage sogar besser], ich wollte sie nur der Vollständigkeit halber erwähnt haben. :-)
Also wie gesagt: Zwei Schleifen sind besser als Eine.



Viele Grüße
Karl





Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Pascal"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.schulmatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]