AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zahlenquadrat

Ein Thema von Thunderbolt · begonnen am 1. Feb 2005 · letzter Beitrag vom 3. Feb 2005
 
Benutzerbild von Thunderbolt
Thunderbolt

Registriert seit: 29. Feb 2004
26 Beiträge
 
#1

Zahlenquadrat

  Alt 1. Feb 2005, 18:15
Ich brauch mal kurz Hilfe. Mein Delphi spinnt rum und schreibt ganz komische Sachen.

Die Aufgabenstellung ist die Folgende:

1. Man hat ein Quadrat mit n Feldern höhe und breite (bei unserem Beispiel 5).
2. In das Mittlere Feld der ersten "Zeile" schreibt man eine 1 hin.
3. Nun füllt man die restlichen Zahlen (2 bis n^2) in die Felder nach folgenden Regeln:
1. Folgt die Zahl einem Teiler von n, kommt diese in das Feld darunter.
2. Ist sie kein Teiler kommt die Zahl in das Feld rechts oben (1 nach rechts, 1 nach oben).
3. Ist man am Rand angelangt, springt die Zahl auf die Gegenseite.


Ein Dreieck mit n=5 sähe also so aus:

17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9


dazu hab ich schnell einen quelltext geschrieben:


Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type zweidimensional=array [1..10,1..10] of word;
var
  matrix :zweidimensional;
  i,x,y :integer;

const
  n=5;

procedure ausgeben;
var k,l:integer;
begin
  for k:=1 to n do
    begin
      for l:=1 to n do write(matrix[x,y]:3);
      writeln;
    end;
end;

begin
  x:= (n div 2)+1;
  y:=1;
  matrix[x,y]:=1;
  ausgeben;
  for i:=2 to sqr(n) do
    begin
      if (i-1 mod n)=0 then
        begin
          if y=n then y:=1 else inc(y);
          matrix[x,y]:=i;
        end
      else
        begin
          if x=n then x:=1 else inc(x);
          if y=1 then y:=n else dec(y);
          matrix[x,y]:=i;
        end;
      ausgeben; //zum fortschritt debuggen
    end;

    ausgeben;

    readln;
end.

seltsamerweise spuckt das programm sehr seltsame ergebnisse aus bei den zwischenausgaben. schaut sie euch bitte mal an. ich finde den fehler irgendwie nicht
Ich habe in der Vergangenheit gute Entscheidungen getroffen. Ich habe in der Zukunft gute Entscheidungen getroffen.
George W. Bush
  Mit Zitat antworten Zitat
 


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 12:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz