| Autor |
Beitrag |
ridom
      
Beiträge: 31
Win 2000, Win XP, Win Vista 32bit und 64bit
Delphi7, C++
|
Verfasst: Di 21.09.10 18:52
Also es geht um folgendes wir haben in der Schule diese aufgabe bekommen die ich unten als bild gezeigt habe
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.Button1Click(Sender: TObject); var i,j,k, spaltens, spaltenm, zeilens:integer; begin randomize; for i := 1 to 10 do begin for j := 1 to 10 do begin rnd[i,j]:= random(99)+1; Stringgrid1.Cells[i,j]:=inttostr(rnd[i,j]); end; end;
for I := 1 to 10 do begin spaltens:= spaltens + rnd[i,1]; stringgrid1.Cells[i,11]:= inttostr(spaltens); end; |
Das Problem ist leider das ich nicht aus der Spalte 1 alle zahlen zusammen rechnen kann es kommt eine riesige zahl dabei raus und nicht das gewünschte ergebnis
Moderiert von Martok: Delphi-Tags gesetzt.
Moderiert von Narses: Titel geändert, war: "Delphi Schulaufgaben"
Einloggen, um Attachments anzusehen!
_________________ Gestern standen wir noch kurz vor dem Abgrund...
...heute sind wir einen schritt weiter
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Di 21.09.10 18:56
Das stringgrid1... und das end; solltest du vertauschen. Es ist besser, erst zu rechnen und dann auszugeben und nicht die Ausgabe ständig zu erneuern, wenn der User nicht gerade zusehen soll (was hier offenbar nicht der Fall ist).
Zu deinem Problem: spaltens muss initialisiert werden. Also spaltens := 0.
Und Randomize dient nur dazu, den Zufallsgenerator auf das aktuelle Datum / aktuelle Zeit zu initialisieren. Alle anderen Werte sind von allein zufällig (wenn du es gar nicht machst, hast du Zufallswerte, aber bei jedem Programmstart die selben). Mit anderen Worten: Das Randomize; sollte nur einmal aufgerufen werden, und zwar am Anfang des Programms.
Für diesen Beitrag haben gedankt: BenBE
|
|
ridom 
      
Beiträge: 31
Win 2000, Win XP, Win Vista 32bit und 64bit
Delphi7, C++
|
Verfasst: Di 21.09.10 19:14
Nun kommt eine zahl raus die realistisch wirkt aber sie is immernoch falsch
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:
| type feldtyp = array [1..10,1..10] of integer; var feld, rnd: feldtyp;
procedure TForm1.Button1Click(Sender: TObject); var i,j,k, spaltens, spaltenm, zeilens:integer; begin randomize; spaltens:=0; spaltenm:=0; for j := 1 to 10 do begin for i := 1 to 10 do begin rnd[i,j]:= random(99)+1; Stringgrid1.Cells[i,j]:=inttostr(rnd[i,j]); end; end;
for I := 1 to 10 do begin spaltens:= spaltens + rnd[i,1];
end; stringgrid1.Cells[1,11]:= inttostr(spaltens); |
_________________ Gestern standen wir noch kurz vor dem Abgrund...
...heute sind wir einen schritt weiter
Zuletzt bearbeitet von ridom am Di 21.09.10 19:24, insgesamt 1-mal bearbeitet
|
|
Georg08
      
Beiträge: 155
Erhaltene Danke: 6
Win XP
Delphi 7.0 Personal
|
Verfasst: Di 21.09.10 19:22
Ich weiß, dass es nicht soo viel mit dem thema zu tun hat, aber bitte fpge die "[delphi]" tags hinzu... das macht alles etwas übersichtlicher besonders wegen der formatierung...
Danke
|
|
Jakob_Ullmann
      
Beiträge: 1747
Erhaltene Danke: 15
Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
|
Verfasst: Di 21.09.10 19:25
Du weißt, dass erst die x-, dann die y-Koordinate kommt?
Für diesen Beitrag haben gedankt: ridom
|
|
ridom 
      
Beiträge: 31
Win 2000, Win XP, Win Vista 32bit und 64bit
Delphi7, C++
|
Verfasst: Di 21.09.10 19:28
xD ach man ok dankeschön doofer fehler den ich immer wieder gerne mache jetzt klappts
_________________ Gestern standen wir noch kurz vor dem Abgrund...
...heute sind wir einen schritt weiter
|
|
|