Seite 1 von 1

Koordinatensystem

Verfasst: 14.05.2016, 22:30
von Jack
Hi,
ich habe eine kurze frage zu einem Array.
Wenn ich mir zb ein Array mit "int bspArray[a]" erstelle und ich in a und b jeweils x und y Koordinaten speichern möchte wie sollte das dann aussehen?
Also so das a immer x ist und b immer y.

Re: Koordinatensystem

Verfasst: 14.05.2016, 23:39
von dot
Sorry, ich kapier leider nicht, was genau du erreichen willst...

Re: Koordinatensystem

Verfasst: 14.05.2016, 23:58
von Krishty
Meinst du, dass du das Array durch [x][y] adressieren möchtest? Wie sollte dann was aussehen?

Re: Koordinatensystem

Verfasst: 15.05.2016, 00:10
von Jack
Ja das ich zb angeben kann das das Array an der stelle von a = x ist und an Stelle b = y, wollte gern wissen wie man das seperat machen kann.

Re: Koordinatensystem

Verfasst: 15.05.2016, 02:54
von Krishty
Dem Text nach willst du nur zwei Elemente eines Arrays setzen?

  int bspArray[n];
  bspArray[a] = x;
  bspArray = y;

Re: Koordinatensystem

Verfasst: 15.05.2016, 15:38
von Jack
Okay danke schon mal, x und y sollen aber zusammengehören wie Koordinaten eben.
Funktioniert das dann genau so?

Re: Koordinatensystem

Verfasst: 15.05.2016, 18:54
von Krishty
Falls du sie wie 2D-Koordinaten nutzen willst, wird es ein Bisschen schwieriger. C++ bietet 2D-Arrays an, die sind aber nicht so intuitiv zu benutzen (z.B. wegen [y][x] statt [x][y] und ich kann mir nie merken, ob int[20][30] jetzt 20 breit oder 20 hoch ist). Ich würde alle 2D-Zugriffe auf 1D abrollen, also exemplarisch:

constexpr width = 30;
constexpr height = 20;
int array[width * height];

setValueAt(int x, int y, int value) {
array[y * width + x] = value;
}


Dann weißt du beim Speichern und Laden genau bescheid, in welcher Reihenfolge die Daten in der Datei liegen, und kannst es später bei Bedarf ändern (um z.B. die Caches besser durch Space Filling Curves auszunutzen).

Vielleicht bieten STL oder Boost dir schon Hilfsklassen dafür; da musst du die anderen hier fragen.

Re: Koordinatensystem

Verfasst: 15.05.2016, 19:50
von Jack
Sehr intuitiv sind die nun wirklich nicht das hast du recht.
Bin mittlerweile aber zu einer Lösung gekommen und in der STL habe ich <list> und <vector> gefunden was wohl eine praktischere Lösung zu sein scheint auch wenn ich noch nicht viel damit anfangen kann.
Werde aber erst mal deinen Vorschlag ausprobieren, danke dir:)

Re: Koordinatensystem

Verfasst: 15.05.2016, 20:04
von Alexander Kornrumpf
Willst du Koordinaten in einem Array speichern oder Elemente in einem Array mit Koordinaten adressieren?