<?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[Hilfe bei Klasse mit Vektor]]></title><description><![CDATA[<p>Guten Tag,<br />
ich muss für mein Studium (3. Sem) eine Aufgabe mit vectoren lösen.</p>
<p>Es gibt zwei Klassen Simple und ControlChart.<br />
Die Klasse Simple liest aus einer Datei Stichproben ein.<br />
Die Klasse ControlChart liest Stichprobenreihen ein bzw. bekommt Stichproben übergeben (Objekte von Sample).<br />
Bsp einer Datei:<br />
02.01.2014 18:40 5 40.1 40.12 39.98 40.02 39.89</p>
<p>Hier meine Klasse Simple:</p>
<pre><code>#ifndef _SAMPLE_H
#define _SAMPLE_H
#include &lt;string&gt;
#include &lt;iostream&gt;
using namespace std;
class Sample {
public:
	float mean();
	float stdDev(float);
	void write(ostream&amp; strm=cout);
	void read(istream&amp; strm=cin);
private:
	string date;
	string time;
	int n;
	float m[5];
	float xm;
	float s;
};
ostream&amp; operator&lt;&lt;(ostream&amp; strm, Sample&amp; s);
istream&amp; operator&gt;&gt;(istream&amp; in, Sample&amp; s);

#endif
</code></pre>
<p>Meine Einlese Methode:</p>
<pre><code>void Sample::read(istream&amp; strm) {
	strm &gt;&gt; date &gt;&gt; time &gt;&gt; n;
	for (int i = 0; i &lt; n; i++)
	{
	  strm &gt;&gt; m[i];
	}

}

ostream&amp; operator&lt;&lt;(ostream&amp; strm, Sample&amp; s)
{
  s.write(strm);
  return (strm);
}
</code></pre>
<p>Aus den Eingelesenen Werten sollen der Durchschnittswert und die Standardabweichung berechnet werden. Und anschließend in eine Datei geschrieben werden.<br />
<strong>Bis hier hin funktioniert alles perfekt.</strong><br />
Mein Problem ist die Klasse ControlChart, ich hab keine Ahnung wie das mit den vectoren klappen soll, dazu gleich mehr.<br />
Macht es überhaupt Sinn Objekte vom Typ Sample in einen Vector zu packen?<br />
Hier mal meine Klasse (sehr stark vereinfacht erst mal):</p>
<pre><code>#ifndef _CONTROLCHART_H
#define _CONTROLCHART_H
#include &quot;Sample.h&quot;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;

class ControlChart {
public:
	int addSample(Sample&amp; s);
	void writec(ostream&amp; strm=cout);
	//void read(istream&amp; strm=cin);
private:
	vector&lt;int&gt; Sample;

};
ostream&amp; operator&lt;&lt;(ostream&amp; strm, ControlChart&amp; c);
istream&amp; operator&gt;&gt;(istream&amp; in, ControlChart&amp; c);

#endif
</code></pre>
<p>Ich hab in meiner main-Datei versucht Stichproben einzulesen und für jede ein neues Objekt Sample zu erstellen. Diese Samples will ich in ControlChart in den Vector schreiben und als Test in eine Datei schreiben.</p>
<p>Hier mein Versuch:</p>
<pre><code>int main()
{
  fstream strm (&quot;daten&quot;, ios::in);
  Sample s1, s2, s3, s4;
  ControlChart c1;
  s1.read(strm);
  s2.read(strm);
  c1.addSample(s1);
  ofstream strmout (&quot;datenaus&quot;, ios::out);

  c1.writec(strmout);
  strmout.close();
  return 0;
}
</code></pre>
<p>Hier noch meine ControlChart.cpp:</p>
<pre><code>int ControlChart::addSample(Sample&amp; s) {
	Sample.push_back(s);
}

void ControlChart::writec(ostream&amp; strm) {
	for(int i = Sample.begin(); i != Sample.end(); i++)
	{
	  strm &lt;&lt; *i &lt;&lt; endl;
	}
}

ostream&amp; operator&lt;&lt;(ostream&amp; strm, ControlChart&amp; c)
{
  c.write(strm);
  return (strm);
}

istream&amp; operator&gt;&gt;(istream&amp; in, ControlChart&amp; c)
{
  c.read(in);
  return (in);
}
</code></pre>
<p>Wäre sehr dankbar wenn mir ein netter Herr auf die Sprünge helfen könnte.<br />
Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/322981/hilfe-bei-klasse-mit-vektor</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 11:27:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/322981.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Jan 2014 17:31:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 17:31:18 GMT]]></title><description><![CDATA[<p>Guten Tag,<br />
ich muss für mein Studium (3. Sem) eine Aufgabe mit vectoren lösen.</p>
<p>Es gibt zwei Klassen Simple und ControlChart.<br />
Die Klasse Simple liest aus einer Datei Stichproben ein.<br />
Die Klasse ControlChart liest Stichprobenreihen ein bzw. bekommt Stichproben übergeben (Objekte von Sample).<br />
Bsp einer Datei:<br />
02.01.2014 18:40 5 40.1 40.12 39.98 40.02 39.89</p>
<p>Hier meine Klasse Simple:</p>
<pre><code>#ifndef _SAMPLE_H
#define _SAMPLE_H
#include &lt;string&gt;
#include &lt;iostream&gt;
using namespace std;
class Sample {
public:
	float mean();
	float stdDev(float);
	void write(ostream&amp; strm=cout);
	void read(istream&amp; strm=cin);
private:
	string date;
	string time;
	int n;
	float m[5];
	float xm;
	float s;
};
ostream&amp; operator&lt;&lt;(ostream&amp; strm, Sample&amp; s);
istream&amp; operator&gt;&gt;(istream&amp; in, Sample&amp; s);

#endif
</code></pre>
<p>Meine Einlese Methode:</p>
<pre><code>void Sample::read(istream&amp; strm) {
	strm &gt;&gt; date &gt;&gt; time &gt;&gt; n;
	for (int i = 0; i &lt; n; i++)
	{
	  strm &gt;&gt; m[i];
	}

}

ostream&amp; operator&lt;&lt;(ostream&amp; strm, Sample&amp; s)
{
  s.write(strm);
  return (strm);
}
</code></pre>
<p>Aus den Eingelesenen Werten sollen der Durchschnittswert und die Standardabweichung berechnet werden. Und anschließend in eine Datei geschrieben werden.<br />
<strong>Bis hier hin funktioniert alles perfekt.</strong><br />
Mein Problem ist die Klasse ControlChart, ich hab keine Ahnung wie das mit den vectoren klappen soll, dazu gleich mehr.<br />
Macht es überhaupt Sinn Objekte vom Typ Sample in einen Vector zu packen?<br />
Hier mal meine Klasse (sehr stark vereinfacht erst mal):</p>
<pre><code>#ifndef _CONTROLCHART_H
#define _CONTROLCHART_H
#include &quot;Sample.h&quot;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;

class ControlChart {
public:
	int addSample(Sample&amp; s);
	void writec(ostream&amp; strm=cout);
	//void read(istream&amp; strm=cin);
private:
	vector&lt;int&gt; Sample;

};
ostream&amp; operator&lt;&lt;(ostream&amp; strm, ControlChart&amp; c);
istream&amp; operator&gt;&gt;(istream&amp; in, ControlChart&amp; c);

#endif
</code></pre>
<p>Ich hab in meiner main-Datei versucht Stichproben einzulesen und für jede ein neues Objekt Sample zu erstellen. Diese Samples will ich in ControlChart in den Vector schreiben und als Test in eine Datei schreiben.</p>
<p>Hier mein Versuch:</p>
<pre><code>int main()
{
  fstream strm (&quot;daten&quot;, ios::in);
  Sample s1, s2, s3, s4;
  ControlChart c1;
  s1.read(strm);
  s2.read(strm);
  c1.addSample(s1);
  ofstream strmout (&quot;datenaus&quot;, ios::out);

  c1.writec(strmout);
  strmout.close();
  return 0;
}
</code></pre>
<p>Hier noch meine ControlChart.cpp:</p>
<pre><code>int ControlChart::addSample(Sample&amp; s) {
	Sample.push_back(s);
}

void ControlChart::writec(ostream&amp; strm) {
	for(int i = Sample.begin(); i != Sample.end(); i++)
	{
	  strm &lt;&lt; *i &lt;&lt; endl;
	}
}

ostream&amp; operator&lt;&lt;(ostream&amp; strm, ControlChart&amp; c)
{
  c.write(strm);
  return (strm);
}

istream&amp; operator&gt;&gt;(istream&amp; in, ControlChart&amp; c)
{
  c.read(in);
  return (in);
}
</code></pre>
<p>Wäre sehr dankbar wenn mir ein netter Herr auf die Sprünge helfen könnte.<br />
Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377294</guid><dc:creator><![CDATA[Schnuffel91]]></dc:creator><pubDate>Tue, 14 Jan 2014 17:31:18 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 17:52:37 GMT]]></title><description><![CDATA[<p>Du willst doch sicherlich (in der Klasse ControlChart)</p>
<pre><code class="language-cpp">vector&lt;Sample&gt; samples;
</code></pre>
<p>oder?</p>
<p>Dann solltest du noch</p>
<pre><code class="language-cpp">int addSample(const Sample&amp; s); // &lt;- const hinzugefügt
</code></pre>
<p>verwenden und deine Write- und Read-Methoden so abändern, daß du passende Leerzeichen (bzw. irgendein anderes Trennzeichen) zwischen die einzelnen Felder schreibst.</p>
<p>Und die Main-Funktion solltest du auch noch so abändern, daß du nur noch ControlChart für das Einlesen und Schreiben benötigst.</p>
<p>PS: Sehe gerade noch, daß du in deinem Text immer von &quot;Klasse Simple&quot; anstatt &quot;Sample&quot; sprichst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
<p>Und noch ein PPS:<br />
&quot;using namespace std;&quot; solltest du niemals in Header-Dateien verwenden (sondern dort immer explizit &quot;std::&quot; schreiben), da du sonst die &quot;Namespaces&quot; ad absurdum führst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377295</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Tue, 14 Jan 2014 17:52:37 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 18:02:26 GMT]]></title><description><![CDATA[<p>Hat jedes <code>Sample</code> 5 Elemente? Oder solltest Du nicht schon in <code>Sample</code> einen Vektor verwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377296</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377296</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Tue, 14 Jan 2014 18:02:26 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 18:27:29 GMT]]></title><description><![CDATA[<p>Th69 schrieb:</p>
<blockquote>
<p>Du willst doch sicherlich (in der Klasse ControlChart)</p>
<pre><code class="language-cpp">vector&lt;Sample&gt; samples;
</code></pre>
<p>oder?</p>
</blockquote>
<p>Ja stimmt! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> Hätten wir schon mal einen Übeltäter.</p>
<p>Th69 schrieb:</p>
<blockquote>
<p>Und die Main-Funktion solltest du auch noch so abändern, daß du nur noch ControlChart für das Einlesen und Schreiben benötigst.</p>
</blockquote>
<p>Ich will in ControlChart mit dem Durchschnittswert und Standardabweichung weiterarbeiten, die von S<strong>a</strong>mple berechnet werden.<br />
Aber ich könnte die berechneten Werte wieder in eine Datei schreiben und davon auslesen stimmt.</p>
<p>Th69 schrieb:</p>
<blockquote>
<p>PS: Sehe gerade noch, daß du in deinem Text immer von &quot;Klasse Simple&quot; anstatt &quot;Sample&quot; sprichst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
</blockquote>
<p>Uuppsi <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Danke dir schon mal.<br />
Bei weiteren Problemen schreibe ich wieder hier. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377298</guid><dc:creator><![CDATA[Schnuffel91]]></dc:creator><pubDate>Tue, 14 Jan 2014 18:27:29 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 18:12:30 GMT]]></title><description><![CDATA[<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Hat jedes <code>Sample</code> 5 Elemente? Oder solltest Du nicht schon in <code>Sample</code> einen Vektor verwenden?</p>
</blockquote>
<p>Gut aufgepasst. Ich finde es auch komisch, aber in den Anforderungen steht, dass jeder Sample 5 Elemente hat. Wozu die Anzahl dann trotzdem noch vor den Messwerten steht weiß ich nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377300</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377300</guid><dc:creator><![CDATA[Schnuffel91]]></dc:creator><pubDate>Tue, 14 Jan 2014 18:12:30 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 19:18:48 GMT]]></title><description><![CDATA[<p>Hab mal noch eine Frage.<br />
In einer Sample steht ja jetzt die komplette Stichprobe (ca. 10 Werte).<br />
Wie stelle ich es denn am geschicktesten an wenn ich aus jedem Sample den Wert an Stelle 4 haben möchte? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Will nämlich den Durchschnittswert von x berechnen.</p>
<p>EDIT: Vermutlich muss Sample auch schon ein vector sein, damit es ein vector in einem vector wird und ich somit auf die einzelnen Elemente zugreifen kann oder? -.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377302</guid><dc:creator><![CDATA[Schnuffel91]]></dc:creator><pubDate>Tue, 14 Jan 2014 19:18:48 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 19:35:22 GMT]]></title><description><![CDATA[<p>Schnuffel91 schrieb:</p>
<blockquote>
<p>In einer Sample steht ja jetzt die komplette Stichprobe (ca. 10 Werte).<br />
Wie stelle ich es denn am geschicktesten an wenn ich aus jedem Sample den Wert an Stelle 4 haben möchte? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Will nämlich den Durchschnittswert von x berechnen.</p>
<p>EDIT: Vermutlich muss Sample auch schon ein vector sein, damit es ein vector in einem vector wird und ich somit auf die einzelnen Elemente zugreifen kann oder? -.-</p>
</blockquote>
<p>Ich kann Dir nicht folgen - was hat der Wert an Stelle 4 mit dem Durchschnitt zu tun?<br />
Wer ist x?<br />
Und wieso hat Sample jetzt 10 Werte? Ich dachte in der Aufgabe stünde fünf Werte pro Stichprobe?</p>
<p>Wie dem auch sei: <code>Sample</code> einen <code>std::vector&lt;float&gt;</code> für die Daten zu spendieren hielte ich für eine gute Idee - aber das ist mit Sicherheit kein Muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377304</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377304</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Tue, 14 Jan 2014 19:35:22 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 19:55:04 GMT]]></title><description><![CDATA[<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Ich kann Dir nicht folgen - was hat der Wert an Stelle 4 mit dem Durchschnitt zu tun?<br />
Wer ist x?<br />
Und wieso hat Sample jetzt 10 Werte? Ich dachte in der Aufgabe stünde fünf Werte pro Stichprobe?</p>
</blockquote>
<p>Das Sample besteht aus Datum, Uhrzeit, Durchschnittswert, Standardabweichung, Messwert1, Messerwert2, Messwert3, Messwert4, Messwert5<br />
Die Durschnittswerte (in Sample berechnet) aus jedem Sample soll ich wieder verrechnen zu einem Gesamtdurchschnitt (in Controlchart berechnet).</p>
<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Wie dem auch sei: <code>Sample</code> einen <code>std::vector&lt;float&gt;</code> für die Daten zu spendieren hielte ich für eine gute Idee - aber das ist mit Sicherheit kein Muss.</p>
</blockquote>
<p>Wenn ich das Datum und Uhrzeit auch drin haben muss brauche ich einen vector&lt;string&gt; oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377308</guid><dc:creator><![CDATA[Schnuffel91]]></dc:creator><pubDate>Tue, 14 Jan 2014 19:55:04 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 20:30:38 GMT]]></title><description><![CDATA[<p>Schnuffel91 schrieb:</p>
<blockquote>
<p>Das Sample besteht aus Datum, Uhrzeit, Durchschnittswert, Standardabweichung, Messwert1, Messerwert2, Messwert3, Messwert4, Messwert5<br />
Die Durschnittswerte (in Sample berechnet) aus jedem Sample soll ich wieder verrechnen zu einem Gesamtdurchschnitt (in Controlchart berechnet).</p>
<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Wie dem auch sei: <code>Sample</code> einen <code>std::vector&lt;float&gt;</code> für die Daten zu spendieren hielte ich für eine gute Idee - aber das ist mit Sicherheit kein Muss.</p>
</blockquote>
<p>Wenn ich das Datum und Uhrzeit auch drin haben muss brauche ich einen vector&lt;string&gt; oder?</p>
</blockquote>
<p>Nein.<br />
Dein erster Ansatz gefällt mir besser. Ich dachte an einen Vektor nur für die Messwerte.</p>
<p>Trotzdem stellt sich mir immer noch die Frage, warum der Wert an der vierten Stelle so wichtig ist? Ich sehe in Deinem Beispiel steht da der Durchschnitt. Ist das immer so?<br />
Ich dachte das Format stünde einfach für</p>
<pre><code>Datum Zeit N Messung1 Messung2 ... MessungN
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2377310</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377310</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Tue, 14 Jan 2014 20:30:38 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 20:43:23 GMT]]></title><description><![CDATA[<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Trotzdem stellt sich mir immer noch die Frage, warum der Wert an der vierten Stelle so wichtig ist? Ich sehe in Deinem Beispiel steht da der Durchschnitt. Ist das immer so?<br />
Ich dachte das Format stünde einfach für</p>
<pre><code>Datum Zeit N Messung1 Messung2 ... MessungN
</code></pre>
</blockquote>
<p>So ist das Format beim einlesen von Sample. Sample schnappt sich die Messungswerte und berechnet den Durchschnitt und die Standardabweichung.<br />
Das wird wieder in eine Datei geschrieben, aus der ControlChart lesen soll, denn dieser braucht den Durchschnitt und die Standardabweichung jedes Samples um weitere Berechnungen durchzuführen.<br />
An die Vieten Stelle habe ich in meinem Beispiel den Durchschnittswert gesetzt.</p>
<p>Wie stelle ich das am besten an mit dem vector in Sample?<br />
Soll ich direkt beim einlesen der Datei die Werte in den vector schreiben? (Bei der Methode brauche ich dann auch meine ganzen Attribute nicht mehr, stimmts?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377312</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377312</guid><dc:creator><![CDATA[Schnuffel91]]></dc:creator><pubDate>Tue, 14 Jan 2014 20:43:23 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 21:26:49 GMT]]></title><description><![CDATA[<p>Schnuffel91 schrieb:</p>
<blockquote>
<p>Wie stelle ich das am besten an mit dem vector in Sample?<br />
Soll ich direkt beim einlesen der Datei die Werte in den vector schreiben? (Bei der Methode brauche ich dann auch meine ganzen Attribute nicht mehr, stimmts?)</p>
</blockquote>
<p>Das mit dem <code>vector</code> ist kein Allheilmittel. Und hilft Dir auch gar nicht bei Deinem Problem, jedenfalls sehe ich nicht wie - letztlich scheint ja sample zu funktionieren und ControlChart macht Dir Probleme.</p>
<p>Ich würde das Pferd von hinten aufzäumen.<br />
Was Du machen willst:<br />
- Aus einer Datei eine Reihe von Samples auslesen.<br />
- Diese speichern - in einer Klasse ControlChart.<br />
- ControlChart ausgeben.</p>
<p>Richtig?</p>
<pre><code class="language-cpp">int main(){
  ControlChart cc;
  {
    std::ifstream in(&quot;daten&quot;);
    Sample s;
    while(in&gt;&gt;s)
      cc.push_back(s);
  }
  std::ofstream out(&quot;datenaus&quot;);
  out &lt;&lt; cc;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2377319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377319</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Tue, 14 Jan 2014 21:26:49 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Tue, 14 Jan 2014 22:40:17 GMT]]></title><description><![CDATA[<p>Furble Wurble schrieb:</p>
<blockquote>
<p>Ich würde das Pferd von hinten aufzäumen.<br />
Was Du machen willst:<br />
- Aus einer Datei eine Reihe von Samples auslesen.<br />
- Diese speichern - in einer Klasse ControlChart.<br />
- ControlChart ausgeben.</p>
<p>Richtig?</p>
</blockquote>
<p>- Aus einer Datei eine Reihe von Samples auslesen. <strong>Korrekt</strong><br />
- Durchschnitt der 5 Messungen zu den Messungen dazu schreiben.<br />
- Diese speichern - in einer Klasse ControlChart. <strong>Korrekt</strong><br />
<strong>- Den Durchschnitt für jedes Sample auslesen und daraus den Gesamtdurchschnitt bestimmen.</strong></p>
<p><strong>Problem:</strong><br />
Wenn ein Sample aus der kompletten Zeichenkette aller Messwerte besteht (wie jetzt), dann kann ich damit ja nicht rechnen.<br />
<div class="plugin-markdown"><input type="checkbox" id="checkbox4400" checked="true" /><label for="checkbox4400">im ControlChart haben. (y beschreibt Samples, x beschreibt Werte der Samples)</label></div><br />
Damit ich z.B. Rechnen kann</p>
<pre><code>Gesamtdurchschnitt = 0;
for(int i = 0; i&lt; y; i++)
{
   Gesamtdurchschnitt += samples[i][4]; //An [i][4] steht bei jedem Sample der Messwertedurchschnitt des Samples
}
Gesamtdurchschnitt /= i;
</code></pre>
<p>Der Gesamtdurchschnitt soll auch in den vector.<br />
Anschließend sollen die Samplereihen (inkl. Gesamtdurchschnitt) in eine Datei geschrieben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377332</guid><dc:creator><![CDATA[Schnuffel91]]></dc:creator><pubDate>Tue, 14 Jan 2014 22:40:17 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Klasse mit Vektor on Wed, 15 Jan 2014 11:40:12 GMT]]></title><description><![CDATA[<p>Schnuffel91 schrieb:</p>
<blockquote>
<p><strong>Problem:</strong><br />
Wenn ein Sample aus der kompletten Zeichenkette aller Messwerte besteht (wie jetzt), dann kann ich damit ja nicht rechnen.<br />
<div class="plugin-markdown"><input type="checkbox" id="checkbox4401" checked="true" /><label for="checkbox4401">im ControlChart haben. (y beschreibt Samples, x beschreibt Werte der Samples)</label></div><br />
Damit ich z.B. Rechnen kann</p>
<pre><code>Gesamtdurchschnitt = 0;
for(int i = 0; i&lt; y; i++)
{
   Gesamtdurchschnitt += samples[i][4]; //An [i][4] steht bei jedem Sample der Messwertedurchschnitt des Samples
}
Gesamtdurchschnitt /= i;
</code></pre>
<p>Der Gesamtdurchschnitt soll auch in den vector.<br />
Anschließend sollen die Samplereihen (inkl. Gesamtdurchschnitt) in eine Datei geschrieben werden.</p>
</blockquote>
<p>Verstehe ich nicht.</p>
<p>Ich wuerde auch die Messwerte und die Durchschnitte getrennt halten.</p>
<p>Vielleicht hilft folgendes:</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
#include &lt;iostream&gt;

struct sample{
  using container = std::vector&lt;float&gt;;
  container data;
};

struct controlchart{
  using container = std::vector&lt;sample&gt;;
  void push_back(const sample&amp;s){
    samples.push_back(s);
  }
  // gibt den 4. Wert eines jeden Samples aus
  void print_4th() const {
    for(auto i=0u; i&lt;samples.size(); ++i)
      if(3&lt;samples[i].data.size())
	std::cout &lt;&lt; samples[i].data[3] &lt;&lt; '\n';
  }
private:
  container samples;
};

int main(){
  sample samples[] = {
    { {0.f, 1.f, 2.f, 33.f} },
    { {1.f, 2.f, 3.f, 44.f} },
    { {2.f, 3.f, 4.f, 55.f} }
  };
  controlchart cc;
  for(const auto&amp; s : samples)
    cc.push_back(s);
  cc.print_4th();
}
</code></pre>
<p>Das Beispiel hat keinen tieferen Sinn - aber in Z. 18 greife ich über zwei Indizes in zwei verschiedenen Vektoren auf einen Wert zu.<br />
Ungefähr das, womit Du Probleme zu haben scheinst.<br />
Der Code benutzt hier und da C++11. Achte also darauf, dass Dein Compiler das unterstüzt (Z. 18 ist allerdings nicht speziell C++11).</p>
<p>Hoffentlich hilft es.<br />
Wobei ich - wie schon gesagt - mit einigem, dass Du vorhast arge Bauchschmerzen habe... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2377409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2377409</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Wed, 15 Jan 2014 11:40:12 GMT</pubDate></item></channel></rss>