Entwickler-Ecke

Sonstiges (Delphi) - array


julian2304 - Mi 23.05.07 16:49
Titel: array
Hallo!
Ich bräuchte mal bitte eure Hilfe bei diesen Aufgaben!

In einem Programm ist das Feld bekannt. Es enthält die folgenden
Zeichenketten:

affe 52
esel 501
falter 47
gnu 46
lama 302
laus 301
maus 2
pferd 19
storch 17
yak 0

1a)
Die Variable 'Zeile' enthält den Text 'hahn'.
Überlegen Sie, was das Ergebnis ist, wenn nun P11 bzw. P12 aufgerufen wird.

1b)
Die Prozeduren P11 und P12 sollen so abgeändert werden, dass statt auf
die erste Spalte nun auf die zweite zugegriffen wird. Was müsste
geändert werden?

1c)
Was liefern P11 und P12 mit den Änderungen von Aufgabe 1b), wenn die
Variable 'Zeile' den Text '3' hat?


2
Die Variable 'position' soll im weiteren den Wert '5' haben.
Was bewirken die Prozeduren p21 bis p24? Schreiben Sie die geänderten
Tabellen auf.
__________________________

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
...

var
  feld:      array[0..9,0..1of string;
  zeile:     string;
  position:  integer;

procedure p11;
var
  j: integer;
begin
  j:=0;
  while (j<=9and (zeile<feld[j,0]) do
    j:=j+1;
  position:=j;
end;

procedure p12;
var
  j: integer;
begin
  j:=9;
  while (j>=0and (zeile<feld[j,0]) do
    j:=j-1;
  position:=j;
end;

procedure p21;
var
  i: integer;
begin
  for i:=position to 8 do
    begin
      feld[i,0]:=feld[i+1,0];
      feld[i,1]:=feld[i+1,1];
    end;
end;

procedure p22;
var
  i: integer;
begin
  for i:=0 to position do
    begin
      feld[i,0]:=feld[i+1,0];
      feld[i,1]:=feld[i+1,1];
    end;
end;

procedure p23;
var
  i: integer;
begin
  for i:=position downto 1 do
    begin
      feld[i-1,0]:=feld[i,0];
      feld[i-1,1]:=feld[i,1];
    end;
end;

procedure p21;
var
  i: integer;
begin
  for i:=9 downto position do
    begin
      feld[i-1,0]:=feld[i,0];
      feld[i-1,1]:=feld[i,1];
    end;
end;


Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt


noidic - Mi 23.05.07 17:11

Wo genau liegt dein Problem? Die komplette Hausaufgabe für dich lösen wird hier niemand.


julian2304 - Mi 23.05.07 17:17

hä? das ist doch keine hasuaufgabe! wir schreiben bald eine arbeit und das sind übungsaufgaben die wir lösen können wenn wir möchten. aber ich hab leider keine ahnung wie das funktioniert. wenn jemand die lösung posten könnte, würde es mir vielleicht leichter fallen das zu vertsehen!

Danke!!


Jann1k - Mi 23.05.07 17:20

also mit p11 und p12 erhält man das - alphabetisch geordnete - object vor und nach hahn, bzw. dessen position im array wird in "position" gespeichert ^^


julian2304 - Mi 23.05.07 17:23

mhhhh wie meinste das jetzt? :?!?:


Christian S. - Mi 23.05.07 17:31

Hallo!

Bitte erstelle für konkrete Probleme jeweils einen Thread. "Sammel"threads enden erfahrungsgemäß im Chaos, weil hinterher niemand mehr weiß, wer worüber schreibt.

Wähle für Threads bitte außerdem aussagekräftige Titel.

Außerdem ist es sicherlich hilfreich, Eigeninitiative zu zeigen und konkrete Fragen zu stellen.

Grüße
Christian