Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » mathematische Formel zu Arraypositionenberechnung » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 4 Beiträge
as_string RE: mathematische Formel zu Arraypositionenberechnung

Nochmal:
Wenn posi von 1 bis 16 läuft, dann ist
[latex](posi-1) mod 16 = posi-1[/latex]
für alle posi im Definitionsbereich.
Dir bringt also das mod gar nichts und für y brauchst Du auch kein mod sondern eine Ganzzahldivision.
Was hälst Du von meiner kurzen Formel für y, die ist doch recht einfach und direkt.

Gruß
Marco
NikoB re: mathematische Formel zu Arraypositionenberechnung

Hi Marco,

Es ist korrekt, was du angenommen hast. Mein Zielarray hat eine Größe von 256 und ist damit die Potenz von 16.

Meine Berechnung von y war mist, die habe ich nun angepasst auf:
(position - (mod(posi - 1,16)+1))/16+1

Deine Berechnung von x passt genau. Vielen Dank dafür. Daumen hoch
as_string RE: mathematische Formel zu Arraypositionenberechnung

Zitat:
Original von NikoB
Ich habe ein Array, welches nach folgendem Muster aufgebaut ist:

Du hast ein Beispiel gegeben, dadurch wird aber nicht klar, wie es bei anderen Arraygrößen sein soll. Z. B. frage ich mich, ob es immer quadratisch sein soll, also es insgesamt immer 3-mal-3 oder 4-mal-4 oder 5-mal-5, etc sein soll?
Zitat:
Original von NikoB
Die beiden Zahlen in Daten seien hier der Einfachheit halber mit x und y beschrieben.

und welcher der beiden ist x und welche y?
Zitat:
Original von NikoB
Über folgende Formel bekomme ich den y Wert:
y = (position - modulo(position,9))/9+1;

Das kann weder für den Wert vor noch hinter dem Querstrich stimmen.

Erstmal ist doof, das nicht alles nullbasierend ist, so muss man nur ständig eine 1 addieren oder subtrahieren. Wenn x die Zahl vor dem Querstrich sein soll, dann schlage ich vor:
[latex]x=((p-1) \,\mathrm{mod}\,3)+1[/latex]
[latex]y=((p-1) \,\mathrm{div}\,3)+1[/latex]
wobei div die Ganzzahldivision sein soll.
Wie gesagt, wenn man alles 0-basiert machen würde, wären die Formeln einfacher, nur jeweils mod 3 div 3 ohne irgendwelche plus- oder minus-1.

Gruß
Marco

PS: die 3 ergibt sich einfach als Wurzel von 9, also der Arraygröße. Wenn nicht nur Quadratzahlen als Arraygröße erlaubt sind, dann musst Du wahrscheinlich die Wurzel aufrunde, aber dazu hast Du nicht genug Beschreibung geliefert und rumraten bringt nichts.
NikoB mathematische Formel zu Arraypositionenberechnung

Hallo zusammen,

ich suche nach einer passenden mathematischen Formel zu folgender Frage.
Ich habe ein Array, welches nach folgendem Muster aufgebaut ist:
Positiongroßes Grinsen aten
1:1/1
2:2/1
3:3/1
4:1/2
5:2/2
6:3/2
7:1/3
8:2/3
9:3/3

Die beiden Zahlen in Daten seien hier der Einfachheit halber mit x und y beschrieben. Über folgende Formel bekomme ich den y Wert:
y = (position - modulo(position,9))/9+1;
Wie erhalte ich x?
Folgende Formel bringt nicht das gewünschte Ergebnis:
x = position - (y-1)*9;

Danke für Vorschläge.