Programmieren 2d Arrays?

4 Antworten

Du musst jetzt festlegen was du reingibst, der Einfachheit halber sagst du einfach eine Spalte ein Array.

Du hast ein Array mit drei Arrays drin, ...

jedes Array im Array reverst du

Am besten mit einer Schleife, geh nur bis zur Hälfte der Länge... und swap dann die Elemente... Frag mich nicht ob es in diesem großartigen Konstrukt .NET dafür ne Funktion gibt die das direkt tut, aber bestimmt! Microsoft sorgt bekanntlich für jede Kleinigkeit vor, so lachthaft sie auch scheinen mag.

int[,] array = new int[3,3] {
    { 1,2,3,4 },
    { 5,6,7,8 },
    { 9,10,11,12 },
};


int[,] reversiertesarray = RotateMatrix(array, 4);


static int[,] RotateMatrix(int[,] matrix, int n) {
    int[,] ret = new int[n, n];


    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n; ++j) {
             ret[i, j] = matrix[j, i];
        }
    }


    return ret;
}

Das Array musst du natürlich mit deinen Werten ausfüllen.

Woher ich das weiß:Studium / Ausbildung – Studium in theoretischer Informatik (Master)

Tausche Spalte i mit Spalte (Anzahl Spalten - i) bis zur ⌊Anzahl Spalten / 2⌋ Spalte.

Der Algorithmus ist in wenigen Zeilen erledigt. Wo genau hast du denn da ein Problem das du da seit mehreren Tagen dranhängst

Möglicherweise hilft dir das hier, auch wenn hier auch die Zeilen umgedreht werden, aber das kannst du ja dann beliebig abändern...

Woher ich das weiß:Hobby – Programmiere seit eineinhalb Jahren