Hey Leuts,
ich tüftel gerade an einer bestimmten aufgabe. Ich will von einem bestimmten punkt aus in einem 2-dim-Array immer höherwertige "Quadrate" ziehen.
Also wenn ich einen punkt habe den ich bezeichne, z.B. mit S dann soll das so aussehen:
4 4 4 4 4 4 4 4 4
4 3 3 3 3 3 3 3 4
4 3 2 2 2 2 2 3 4
4 3 2 1 1 1 2 3 4
4 3 2 1 S 1 2 3 4
4 3 2 1 1 1 2 3 4
4 3 2 2 2 2 2 3 4
4 3 3 3 3 3 3 3 4
4 4 4 4 4 4 4 4 4
Das soll aber auch klappen, wenn ich nicht genau in der mitte bin oder es keine N x N Matrix ist.
also sowas sollte auch gehen:
6 6 6 6 6 6 6 6 6 6 6 7
5 5 5 5 5 5 5 5 5 5 6 7
4 4 4 4 4 4 4 4 4 5 6 7
4 3 3 3 3 3 3 3 4 5 6 7
4 3 2 2 2 2 2 3 4 5 6 7
4 3 2 1 1 1 2 3 4 5 6 7
4 3 2 1 S 1 2 3 4 5 6 7
4 3 2 1 1 1 2 3 4 5 6 7
4 3 2 2 2 2 2 3 4 5 6 7
4 3 3 3 3 3 3 3 4 5 6 7
4 4 4 4 4 4 4 4 4 5 6 7
Ich habe derzeit leider nur recht "minderwertige" Ansätze. So weiß ich, wie ich vom startpunkt aus nach rechts, links, oben unten, schräk rechts oben, schräk rechts unten, schräg links oben und schräk links unten gehen kann um da die zahlen einzutragen.
Das sähe dann so aus:
edit: das wird nicht angezeigt : \
4 4 4
3 3 3
2 2 2
1 1 1
4 3 2 1 S 1 2 3 4
1 1 1
2 2 2
3 3 3
4 4 4
Nur wie ich nun den rest befüllen soll will mir nicht einfallen.
Hat jemand eine idee wie man das machen kann ?
Das was ich bis jetzt rausgefunden habe kann man so umsetzen:
für jeden weiteren schritt:
Schräk links oben : [+1][-1]
Schräk links unten :[-1][-1]
Schräk rechts oben :[+1][+1]
Schräk rechts unten : [-1][+1]
links : [bleibt][-1]
rechts: [bleibt][+1]
oben : [-1][bleibt]
unten :[+1][bleibt]
ich tüftel gerade an einer bestimmten aufgabe. Ich will von einem bestimmten punkt aus in einem 2-dim-Array immer höherwertige "Quadrate" ziehen.
Also wenn ich einen punkt habe den ich bezeichne, z.B. mit S dann soll das so aussehen:
4 4 4 4 4 4 4 4 4
4 3 3 3 3 3 3 3 4
4 3 2 2 2 2 2 3 4
4 3 2 1 1 1 2 3 4
4 3 2 1 S 1 2 3 4
4 3 2 1 1 1 2 3 4
4 3 2 2 2 2 2 3 4
4 3 3 3 3 3 3 3 4
4 4 4 4 4 4 4 4 4
Das soll aber auch klappen, wenn ich nicht genau in der mitte bin oder es keine N x N Matrix ist.
also sowas sollte auch gehen:
6 6 6 6 6 6 6 6 6 6 6 7
5 5 5 5 5 5 5 5 5 5 6 7
4 4 4 4 4 4 4 4 4 5 6 7
4 3 3 3 3 3 3 3 4 5 6 7
4 3 2 2 2 2 2 3 4 5 6 7
4 3 2 1 1 1 2 3 4 5 6 7
4 3 2 1 S 1 2 3 4 5 6 7
4 3 2 1 1 1 2 3 4 5 6 7
4 3 2 2 2 2 2 3 4 5 6 7
4 3 3 3 3 3 3 3 4 5 6 7
4 4 4 4 4 4 4 4 4 5 6 7
Ich habe derzeit leider nur recht "minderwertige" Ansätze. So weiß ich, wie ich vom startpunkt aus nach rechts, links, oben unten, schräk rechts oben, schräk rechts unten, schräg links oben und schräk links unten gehen kann um da die zahlen einzutragen.
Das sähe dann so aus:
edit: das wird nicht angezeigt : \
4 4 4
3 3 3
2 2 2
1 1 1
4 3 2 1 S 1 2 3 4
1 1 1
2 2 2
3 3 3
4 4 4
Nur wie ich nun den rest befüllen soll will mir nicht einfallen.
Hat jemand eine idee wie man das machen kann ?
Das was ich bis jetzt rausgefunden habe kann man so umsetzen:
für jeden weiteren schritt:
Schräk links oben : [+1][-1]
Schräk links unten :[-1][-1]
Schräk rechts oben :[+1][+1]
Schräk rechts unten : [-1][+1]
links : [bleibt][-1]
rechts: [bleibt][+1]
oben : [-1][bleibt]
unten :[+1][bleibt]
Zuletzt bearbeitet: