Ergebnis 1 bis 7 von 7

Thema: Frage zu Delphi

  1. #1

    Frage zu Delphi

    Ich hab die Chance umsonst zur CeBit zu kommen, wenn ich eine Wette gewinne. Ich soll einen Code schreiben für folgende Aufgabe: Ein Stringgrid mit 11x11 Feldern soll in den den Cellen [1,1] bis [10,10] (ein Quadrat von 10x10 Zellen) mit Zufallszahlen gefüllt werden. In den Zellen [1,0] bis [11,0] sollen die Summen für die jeweiligen Spalten stehen. In den Zellen [0,1] bis [0,11] sollen die jeweiligen Zeilensummen stehen. Die Bedingung für meinen Sieg, der Code darf zusammen mit dem automatisch generierten Teil, der nicht verändert werden darf) nicht mehr als 38 Zeilen umfassen. Weitere Bedingunegn: Eine Anweisung pro Zeile und es darf nicht über die gestrichelte, senkrechte Linie hinaus geschrieben werden. Ich hoffe ihr könnt mir helfen.

  2. #2
    Helfen kann ich dir wohl nicht, aber ich schätze mal, dass das rein gar nichts mit Webdesign zu tun hat! (Und außerdem hört es sich fast unmöglich an, aber das sagt einer, der nie Delphi-Code gesehen hat ^^)

  3. #3
    Ups, dann hab ich den Titel des Forums falsch verstanden, iich dachte, dass wär ein allgemeines Programmierer-Forum. Sorry.

  4. #4
    War nicht einfach... ich hasse solche verschachtelungen xD
    Sind genau 38 Codezeilen. Ich hoffe du bringst die erfahrung mit das einzubauen, ansonsten wirkts unglaubwürdig

    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Grids;
    
    type
      TForm1 = class(TForm)
        StringGrid1: TStringGrid;
        procedure FormCreate(Sender: TObject);
      private
        IntData: array[0..11,0..11] of Integer;
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.FormCreate(Sender: TObject);
    var
      x,y: Integer;
    begin
      Randomize;
      for x := 0 to 10 do
        for y := 0 to 10 do
          if (x = 0) or (y = 0) then begin
            IntData[x,0] := x;
            IntData[0,y] := y;
          end else begin
            IntData[x,y] := Random(100);
            IntData[x,11] := IntData[x,11] + IntData[x,y];
            IntData[11,y] := IntData[11,y] + IntData[x,y];
          end;
      for x := 0 to 11 do
        for y := 0 to 11 do
         StringGrid1.Cells[x,y] := IntToStr(IntData[x,y]);
    end;
    
    end.

    Edit: Öhhh... momment... Ich hab da wohl was falsch verstanden ^^ So sinds sogar nur 35 Zeilen

    Code:
    procedure TForm1.FormCreate(Sender: TObject);
    var
      x,y: Integer;
    begin
      Randomize;
      for x := 1 to 10 do
        for y := 1 to 10 do
          begin
            IntData[x,y] := Random(100);
            IntData[x,11] := IntData[x,11] + IntData[x,y];
            IntData[11,y] := IntData[11,y] + IntData[x,y];
          end;
      for x := 1 to 11 do
        for y := 1 to 11 do
         StringGrid1.Cells[x,y] := IntToStr(IntData[x,y]);
    end;
    Natürlich würde das irgendwie ohne den Array 'IntData' gehen. Aber dann müsstest du ellenlange Zeilen schreiben weil du immer StrToInt casten musst.

    So siehts dann aus:

    Geändert von Freezy (08.03.2005 um 18:10 Uhr)

  5. #5
    Freezy, danke für den Code, aber eine Bedingung ist nicht erfüllt. In den Zellen [0,x] und [x,0] sollen nicht die Zahlen von 1 bis 10 stehen, sondern die Zeilen- bzw. Spaltemsummen, also die Addition aller neben- bzw. unterstehenden Zellen.

    EDIT. Ups, hast du ja schon bemerkt. Ich danke dir dafür.

  6. #6
    Hmm... die Summen stehen jetzt immer an [x,11],[11,y]. Diese auf [x,0],[o,y] zu bringen ist aber nicht sonderlich schwer. Sollte es trotzdem hapern sag bescheid ^^

  7. #7
    Sorry für den Doppelpost, aber es soll Freezy auch auffallen.
    @Freezy: Es gibt ein Problem, dass Stringgrid soll nur aus den Zellen 0 bis 10 x 0 bis 10 bestehen, also nicht die 0er Reihe leer lassen. Die Summen können aber trotzdem unten und rechts stehen, dass sit egal. Gib mir mal deine Mail, dann schick ich dir mal nen Screenshot wie es aussehen soll.

    EDIT: Ich hab es angepasst bekommen, jetzt muss ich es nur noch in nen Button einbinden und dann mal gucken, ob es reicht. Ich danke dir auf jeden Fall, das bringt mich nen großen Schritt weiter.

    Geändert von Pyrokar (08.03.2005 um 18:31 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •