C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Zahlen zeilenweise einlesen

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Susanne
Guest





PostPosted: Fri Nov 17, 2006 4:36 pm    Post subject: Zahlen zeilenweise einlesen Reply with quote



Liebe C++ Experten,

ich habe eine txt-Datei in folgendem Format

23 17 6 3 -12 2
3 11 2 4
3 76 2 1 555

- also Zeilen von integer Zahlen unterschiedlicher Laenge.

Jede einzelne Zeile moechte ich gerne in eine Art
Vektor einlesen. Ein Aufruf von etwa
myArray[i][j] soll den Eintrag in der i-ten Zeile und j-ten Spalte
ansprechen. Nach jedem Zeilenende sollen die darauffolgenden Werte
in einen neuen Vektor eingelesen werden.

Im obigen Beispiel liefert myArray[2][2] den Wert 11.

Als blutiger C++ Anfaenger habe ich leider keinen Plan wie ich
das anstellen soll. Koennt Ihr mir weiterhelfen? Idealerweise mit
einem (vollstaendigen) Code?

Besten Dank,
Susanne
Back to top
Stefan Reuther
Guest





PostPosted: Sat Nov 18, 2006 5:27 pm    Post subject: Re: Zahlen zeilenweise einlesen Reply with quote



Hallo,

Susanne wrote:
Quote:
ich habe eine txt-Datei in folgendem Format

23 17 6 3 -12 2
3 11 2 4
3 76 2 1 555

- also Zeilen von integer Zahlen unterschiedlicher Laenge.

Das klingt stark nach Hausaufgabe. Sollte dem nicht so sein, kannst du
ja mal deinen bisherigen Lösungsansatz bzw. Kenntnisstand posten.

Quote:
Jede einzelne Zeile moechte ich gerne in eine Art
Vektor einlesen.

Also ein std::vector<std::vector<int> >.

Quote:
Ein Aufruf von etwa
myArray[i][j] soll den Eintrag in der i-ten Zeile und j-ten Spalte
ansprechen. Nach jedem Zeilenende sollen die darauffolgenden Werte
in einen neuen Vektor eingelesen werden.

Ich würde zeilenweise lesen (wie man das macht, steht im Nachbarthread),
die Zeilen in einen std::stringstream packen und dort halt mittels,
quick&dirty,
int n;
while (strstr >> n)
vec.push_back(n);
rauslesen.


Stefan
Back to top
Andre Poenitz
Guest





PostPosted: Sat Nov 18, 2006 7:09 pm    Post subject: Re: Zahlen zeilenweise einlesen Reply with quote



Susanne <susanne_honig (AT) web (DOT) de> wrote:
Quote:
Liebe C++ Experten,

ich habe eine txt-Datei in folgendem Format

23 17 6 3 -12 2
3 11 2 4
3 76 2 1 555

- also Zeilen von integer Zahlen unterschiedlicher Laenge.
Jede einzelne Zeile moechte ich gerne in eine Art
Vektor einlesen. Ein Aufruf von etwa
myArray[i][j] soll den Eintrag in der i-ten Zeile und j-ten Spalte
ansprechen. Nach jedem Zeilenende sollen die darauffolgenden Werte
in einen neuen Vektor eingelesen werden.

Im obigen Beispiel liefert myArray[2][2] den Wert 11.

Als blutiger C++ Anfaenger habe ich leider keinen Plan wie ich
das anstellen soll. Koennt Ihr mir weiterhelfen? Idealerweise mit
einem (vollstaendigen) Code?

Zeilenweise mit getline aus Datei lesen.
Aus Zeile eine istringstream konstruieren.
Aus istringstream ints auslesen und in std::vector<int> stopfen, bis es
daneben geht. Alternativ den vector-Konstruktor aus zwei Iteratoren
mit den richtigen Iteratoren fuetter.
Den vector an einen vector< vector<int> > mit push_back anhaengen.
Indizierung faengt dann mit 0 an. Wenn Du das nicht moechtest, das
Ganze noch in eine Klasse kapseln und beim Zugriff umrechnen.

Andre'
Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.