wir sagen, dass wir eine Matrix in einer matrix.txt-Datei haben, wie folgt gespeichert:C++ Matrix zu dynamischen 2D arrray
und wollen wir es in verwandeln:
Nummer 8 (erste Zahl) bedeutet, wie groß 2D-Array sein wird. Danach ist es bedeutet: 1 bis 2 verbunden ist (Wert von Verbindung 1 ist, ist es immer 1 sein wird) 1 ist mit 8 3 bis 4
verbunden ist, und, wenn es in 2D dynamische Array umgewandelt, wir wollen der Wert 1 in ARRRAY 0,1 ... 0,7 ... 2,3 und so weiter (ich habe keine eckigen Klammern verwendet, da stackoverflow sie als Links liest).
int number;
int **a = new int*[number];
for (int i = 0; i<number; i++) {
a[i] = new int[number];
}
for (int i = 0; i<number; i++) {
delete[]a[i];
}
delete[]a;
string line;
ifstream myfile("matrix.txt");
if (myfile.is_open())
{
getline(myfile, line);
istringstream(line)>> number;
while (getline(myfile, line)){
cout << line << '\n';
//HERE I SHOULD TURN THOSE NUMBERS INTO VALUES IN 2D ARRAY
}
myfile.close();
}
Also meine Frage ist: Wie schalte ich diese Zahlen in Matrix in 2D-Array?
Danke
Wenn es auf diese Weise versucht, bekomme ich einen Fehler, der besagt, dass a undefiniert ist. –
Alles, was ich lieferte, war das '// HIER MUSS ICH DIESE ZAHLEN IN WERTE IN 2D-ARRAY EINSCHALTEN '' und die while-Schleife darum herum. Sie benötigen weiterhin den Rest Ihres Codes, um 'a' zu definieren und die Datei zu öffnen. – user4581301
Es sei denn, Sie gehen für die Matrix-Version. In diesem Fall brauchst du Matrix a (Zahl, Zahl); Wenn du darüber nachdenkst, hast du einen bösen Fehler in der Definition deines Arrays. Eine Änderung vornehmen, um Ihnen zu helfen, das zu beheben. – user4581301