<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Jedes n-te Element eines vektors einlesen]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe ein Problem beim Einlesen eines Vektors und hoffe auf eure Hilfe.<br />
Ich habe 100 Werte der Form</p>
<p>123<br />
123<br />
456</p>
<p>und möchte diese gerne spaltenweise in einem Vektor haben. Bisher habe ich mit getline in einen Vektor eingelesen und versuche, diese Werte nun in eine Reihenfolge zu bringen, als hätte ich spaltenweise eingelesen. Wie funktioniert das? Ich komme einfach nicht weiter. Kann man vielleicht einfach schon spaltenweise einlesen?</p>
<p>Was ich bisher gemacht habe (wobei das letzte wahrscheinlich falsch ist mit dem Iterator):</p>
<pre><code>int main ()
{
	vector &lt;int&gt; proctimes;

ifstream infile1  (&quot;C:/Users/ich/Documents/Uni/C++/Taillard20_5.txt&quot;);
  if(!infile1.is_open()){ 
    cerr &lt;&lt; &quot;Fehler beim Oeffnen der Datei.\n&quot;; 
    return -1; 
  } 
  for(int i=0; i&lt;3; ++i) 
    infile1.ignore(numeric_limits&lt;streamsize&gt;::max(), '\n'); 
	/*if (infile1.is_open()) 
		cout &lt;&lt; &quot;Datei wurde geoeffnet&quot; &lt;&lt;endl &lt;&lt; endl;
	else 
		cout &lt;&lt; &quot;Fehler&quot; &lt;&lt;endl&lt;&lt;endl;*/
	string line1;

while ( getline (infile1,line1) )
    {
      stringstream s (line1);
	  int tmp;

	  while (s&gt;&gt;tmp) {
		proctimes.push_back(tmp);  
    }
}

	infile1.clear(); // Fehlerstatus auf 0 setzen
	infile1.close(); // File schließen

	for (int i=0; i&lt;proctimes.size(); i++)
	{
		cout &lt;&lt; proctimes [i] &lt;&lt; &quot; &quot;;
	}

	vector &lt;int&gt; neu; int nbrjobs=100; int nbrmach =5;
	for (int i=0; i&lt;nbrjobs; i++)
	{
	copy(proctimes.begin()+((i-1)*nbrmach), proctimes.begin()+((i-1)*nbrmach)+i*+nbrjobs, back_inserter(neu));
</code></pre>
<p>Danke schonmal im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/312485/jedes-n-te-element-eines-vektors-einlesen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 18:46:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/312485.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 Jan 2013 11:34:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Jedes n-te Element eines vektors einlesen on Sun, 06 Jan 2013 11:34:02 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich habe ein Problem beim Einlesen eines Vektors und hoffe auf eure Hilfe.<br />
Ich habe 100 Werte der Form</p>
<p>123<br />
123<br />
456</p>
<p>und möchte diese gerne spaltenweise in einem Vektor haben. Bisher habe ich mit getline in einen Vektor eingelesen und versuche, diese Werte nun in eine Reihenfolge zu bringen, als hätte ich spaltenweise eingelesen. Wie funktioniert das? Ich komme einfach nicht weiter. Kann man vielleicht einfach schon spaltenweise einlesen?</p>
<p>Was ich bisher gemacht habe (wobei das letzte wahrscheinlich falsch ist mit dem Iterator):</p>
<pre><code>int main ()
{
	vector &lt;int&gt; proctimes;

ifstream infile1  (&quot;C:/Users/ich/Documents/Uni/C++/Taillard20_5.txt&quot;);
  if(!infile1.is_open()){ 
    cerr &lt;&lt; &quot;Fehler beim Oeffnen der Datei.\n&quot;; 
    return -1; 
  } 
  for(int i=0; i&lt;3; ++i) 
    infile1.ignore(numeric_limits&lt;streamsize&gt;::max(), '\n'); 
	/*if (infile1.is_open()) 
		cout &lt;&lt; &quot;Datei wurde geoeffnet&quot; &lt;&lt;endl &lt;&lt; endl;
	else 
		cout &lt;&lt; &quot;Fehler&quot; &lt;&lt;endl&lt;&lt;endl;*/
	string line1;

while ( getline (infile1,line1) )
    {
      stringstream s (line1);
	  int tmp;

	  while (s&gt;&gt;tmp) {
		proctimes.push_back(tmp);  
    }
}

	infile1.clear(); // Fehlerstatus auf 0 setzen
	infile1.close(); // File schließen

	for (int i=0; i&lt;proctimes.size(); i++)
	{
		cout &lt;&lt; proctimes [i] &lt;&lt; &quot; &quot;;
	}

	vector &lt;int&gt; neu; int nbrjobs=100; int nbrmach =5;
	for (int i=0; i&lt;nbrjobs; i++)
	{
	copy(proctimes.begin()+((i-1)*nbrmach), proctimes.begin()+((i-1)*nbrmach)+i*+nbrjobs, back_inserter(neu));
</code></pre>
<p>Danke schonmal im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2286716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2286716</guid><dc:creator><![CDATA[beginner58]]></dc:creator><pubDate>Sun, 06 Jan 2013 11:34:02 GMT</pubDate></item><item><title><![CDATA[Reply to Jedes n-te Element eines vektors einlesen on Sun, 06 Jan 2013 12:08:23 GMT]]></title><description><![CDATA[<p>Wäre es nicht geschickter, die Werte gleich in richtiger Form einzulesen?<br />
Ungetestet:</p>
<pre><code>getline(quelle, first_line);
size_t num_cols = first_line.length();
vector&lt;string&gt; result(num_cols);
push_back_values(result, first_line);

for (string line; getline(quelle, line); )
{
  if (line.size() != num_cols)
    throw num_colums_not_constant_exception();
  push_back_values(result, line);
}

// ...

void push_back_values(vector&lt;string&gt; &amp;result, const string &amp;line)
{
  for(size_t i = 0; i &lt; line.size(); ++i)
    result[i].push_back(line[i]);
}
</code></pre>
<p>Nach dem gleichen Muster kannst du natürlich auch bereits eingelesene Daten rotieren, falls dies bei dir passender sein sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2286729</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2286729</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 06 Jan 2013 12:08:23 GMT</pubDate></item></channel></rss>