Hallo Leute,
ich bin grad dabei mir etwas c# anzueignen und steck grad nen bissl fest (:.
Es geht darum eine Datei einzulesen, die in Matrixform dargestellt ist. Die 1. Zeile und 1. Spalte sind Buchstaben alle übrigen Einträge sind Zahlen
Bsp:
X X X X
Y 6 -5 5
Y 2 -1 3
Y -1 0 2
Bis jetzt hab ich die erste Zeile erfolgreich eingelesen und in ein chararray geschrieben. Davon die Länge bestimmt und dann ein 2DIM Array für die Ints angelegt.
Das Problem ist jetzt, dass ich nicht weiß, wie ich bestimme, ob der nächste Char nen Int ist und die Sache mit den negativen Ints...
In java gabs vergleichsweise mit der Scannerklasse die Methode hasNextInt --> damit konnte man die Abfrage ganz gut machen.
Ich hatte folgenden Code schon zum laufen gebracht, aber da kamen nur komische Sachen bei der Textausgabe raus ( ganz andere Zahlen, viel mehr etc.)
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| int i = 0; String cstring = ""; StreamReader reader = new StreamReader(@matlocation + ".mat"); reader.ReadLine(); int a = 0; int b = 0;
string test = ""; while (a <= chararray.Length - 1) { while (b <= chararray.Length - 1) { if ((reader.Peek()).GetType() == i.GetType()) { intmatrix[a,b] = reader.Read(); test = test + reader.Read();
b++; } else { reader.Read(); }
} b = 0; a++; } reader.Close(); |
Wär kewl, wenn mir jmd nen Lösungsvorschlag hätte.
Beste Grüße
kamson
Moderiert von
Kha: Code- durch C#-Tags ersetzt