Ich mache ein C++ - Programm, das prüft, ob Array gegeben ist ein latin square. Ich muss ein dynamisches mehrdimensionales Array verwenden, das das angegebene lateinische Quadrat speichert. Aber ich kann das Array an eine Funktion, die die Prüfung durchführt ...Verwenden von dynamischen mehrdimensionalen Arrays in C++
Derzeit ich einen solchen Code haben für den Aufruf der Funktion:
int squaretest(int **p, int n, int sum) {
//some code
};
Und dieser Code ist für die Erstellung der Array:
int main() {
//some code. n - length of one row, sum - sum of elements in one row.
int a;
int **lsquare;
lsquare = new int*[n];
for (int i=0;i<=n-1;i++) for (int j=0;j<=n-1;j++) {
cin >>a;
lsquare[i][j] = a;
}
blocktest(lsquare,n,sum);
//some code
};
Der Code kompiliert (ich benutze Geany IDE und G ++ Compiler) aber wenn ich es im Terminal ausführen, nach dem ersten Imput, der in Block [0] [0] gespeichert werden muss, bekomme ich Segmentierungsfehler Fehler. Was ist falsch an meinem Code und was ist die richtige Lösung?
+1 für das lateinische Quadrat –
Warum nicht ein std :: vector? – Yacoby