Fabian Hänsel schrieb:
Carsten Friede cfriede@wh12.tu-dresden.de wrote:
Moin.
Ich bastel hier gerade an einem kleinem C-Programm herum. Ich möchte mehrere Integer eingeben. Das geschieht per scanf. Nur blöderweise macht scanf immer nach dem Drücken auf Enter die Eingabe in einer neuen Zeile. Das sieht dumm aus, zumal es sich um die Komponenten eines Zeilenvektors handelt. Wie bewege ich also scanf dazu schön in der Zeile zu bleiben? Ich meine bei printf geht's ja auch, da läßt man einfach den newline-Operator weg, fertig. Nur scanf ärgert mich hier ein wenig.
Soll das Programm nach Enter in der aktuellen Zeile bleiben? Das stelle ich mir umständlich vor (zumindest kenne ich kein scanf, das nicht auf die nächste Zeile gehen würde). Alle Zahlen in einer Zeile als
Genau das ist ja mein Problem.
Zeichenkette einzulesen und mit Kommata zu trennen sollte einfacher sein, und auch gewohnter als innerhalb einer Zeile mehrmals Enter zu drücken.
Hm, wie kriege ich dann aber die einzelnen Positionen, wenn da im String Kommata stehen? Die Zeichenkette stellt wie gesagt einen Zeilenvektor einer Matrix dar. Deswegen hab' ich die Eingabe auch in eine Schleife gepackt, so daß die Eingabewerte immer schön in die einzelnen Positionen der Matrix eingetragen werden. Wenn ich die Eingabe als Feldvariable realisiere, habe ich doch das Problem, daß jedes Zeichen eine Position darstellt. In einer Matrix kann es aber auch mehrstellige Komponenten geben.
MfG
Carsten