<?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[vektorfeder vertauschen]]></title><description><![CDATA[<p>Hallo, die Aufgabe ist beim eingelesenen Vektor dem Maximalwert zu finden. Ich habe es mir so überlegt, dass zwei felder miteinander vergliechen werden und wenn der Wert größer ist, wird er immer nach hinten verschoben, am ende lass ich das letzte feld ausgeben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;

using namespace std;

double Max(const vector&lt;double&gt; &amp;v){
	for (int k=0; k&lt;v.size(); k++){
	if (v&gt;v[k+1])
	v[k]=v[k+1];
	}
   return v[v.size()-1];
}

int main (){

cout&lt;&lt;&quot;Wie lang soll der Vektor sein?&quot;&lt;&lt;'\n';
int i; 
cin&gt;&gt;i;
cout&lt;&lt;&quot;Geben sie die einzelnen Komponenten nacheinander ein!&quot;&lt;&lt;'\n';
vector &lt;double&gt; v(i);
 for (int k=0; k&lt;v.size(); k++)
	cin&gt;&gt;v[k];
double d = Max(v);
cout&lt;&lt;&quot;Der grösste Wert ist &quot;&lt;&lt;d&lt;&lt;'\n';

}
</code></pre>
<p>Wenn ich es allerdings so mache, mekert er rum, dass der vektor nicht verändert werden darf. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/304398/vektorfeder-vertauschen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 09 Aug 2026 18:45:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/304398.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 05 Jun 2012 11:16:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 11:16:46 GMT]]></title><description><![CDATA[<p>Hallo, die Aufgabe ist beim eingelesenen Vektor dem Maximalwert zu finden. Ich habe es mir so überlegt, dass zwei felder miteinander vergliechen werden und wenn der Wert größer ist, wird er immer nach hinten verschoben, am ende lass ich das letzte feld ausgeben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;

using namespace std;

double Max(const vector&lt;double&gt; &amp;v){
	for (int k=0; k&lt;v.size(); k++){
	if (v&gt;v[k+1])
	v[k]=v[k+1];
	}
   return v[v.size()-1];
}

int main (){

cout&lt;&lt;&quot;Wie lang soll der Vektor sein?&quot;&lt;&lt;'\n';
int i; 
cin&gt;&gt;i;
cout&lt;&lt;&quot;Geben sie die einzelnen Komponenten nacheinander ein!&quot;&lt;&lt;'\n';
vector &lt;double&gt; v(i);
 for (int k=0; k&lt;v.size(); k++)
	cin&gt;&gt;v[k];
double d = Max(v);
cout&lt;&lt;&quot;Der grösste Wert ist &quot;&lt;&lt;d&lt;&lt;'\n';

}
</code></pre>
<p>Wenn ich es allerdings so mache, mekert er rum, dass der vektor nicht verändert werden darf. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219685</guid><dc:creator><![CDATA[Namal]]></dc:creator><pubDate>Tue, 05 Jun 2012 11:16:46 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 11:18:21 GMT]]></title><description><![CDATA[<p>Sorry, zeile 9 ist natürlich auch falsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219687</guid><dc:creator><![CDATA[namal]]></dc:creator><pubDate>Tue, 05 Jun 2012 11:18:21 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 11:29:30 GMT]]></title><description><![CDATA[<p>Hast Du das kleine Wörtchen <code>const</code> gesehen? Das steht für 'konstant'.<br />
Abgesehen davon besteht keinerlei Notwendigkeit den Inhalt des Vektors zu ändern, wenn man nur das Maximum finden will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219695</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Tue, 05 Jun 2012 11:29:30 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 11:31:07 GMT]]></title><description><![CDATA[<p>Namal schrieb:</p>
<blockquote>
<pre><code class="language-cpp">double Max(const vector&lt;double&gt; &amp;v){
</code></pre>
<p>Wenn ich es allerdings so mache, mekert er rum, dass der vektor nicht verändert werden darf. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Das liegt an dem const!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219696</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Tue, 05 Jun 2012 11:31:07 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 11:43:59 GMT]]></title><description><![CDATA[<p>Das Maximum kannst du einfacher bestimmen, zum Beispiel so:</p>
<pre><code class="language-cpp">double Max(const vector&lt;double&gt; &amp;v)
{ 
	double max = std::numeric_limits&lt;double&gt;::min();
	for ( size_t i = 0; i &lt; v.size(); ++i )
		max = std::max( max, v[i] );
	return max;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2219702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219702</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Tue, 05 Jun 2012 11:43:59 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 12:01:40 GMT]]></title><description><![CDATA[<p>icarus2 schrieb:</p>
<blockquote>
<p>Das Maximum kannst du einfacher bestimmen, zum Beispiel so:</p>
<pre><code class="language-cpp">double Max(const vector&lt;double&gt; &amp;v)
{ 
	double max = std::numeric_limits&lt;double&gt;::min();
	for ( size_t i = 0; i &lt; v.size(); ++i )
		max = std::max( max, v[i] );
	return max;
}
</code></pre>
</blockquote>
<p>std::max_element?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219715</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 05 Jun 2012 12:01:40 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 13:03:37 GMT]]></title><description><![CDATA[<p>Was passiert, wenn der Vektor kein Element enthaelt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219756</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Tue, 05 Jun 2012 13:03:37 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 13:25:35 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template&lt;typename Iterator&gt;
Iterator max(Iterator begin, Iterator end)
{
    Iterator result = begin;
    for(; begin != end; ++begin)
        if(*begin &gt; *result)
            result = begin;
    return result;
}
</code></pre>
<p>So wäre meine Idee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219775</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Tue, 05 Jun 2012 13:25:35 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 14:10:53 GMT]]></title><description><![CDATA[<p>Ethon schrieb:</p>
<blockquote>
<p>So wäre meine Idee.</p>
</blockquote>
<p>Spätestens nach SeppJ's Beitrag ätte deine Idee eine andere sein sollen:</p>
<pre><code class="language-cpp">double Max(const vector&lt;double&gt; &amp;v){
  if (v.empty()) throw std::logic_error(&quot;No maximum in empty container!&quot;);
  return *max_element(begin(v), end(v));
}
</code></pre>
<p>Wobei die Fehlerbehandlung Geschmackssache und auch kontextabhängig ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219813</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219813</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 05 Jun 2012 14:10:53 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 14:20:58 GMT]]></title><description><![CDATA[<p>ist die max_element eine vordefinierte funktion? Wenn ich das so versuche wirft er mir mehrere fehlermeldungen raus beim kompilieren:</p>
<pre><code>a5.cpp: In function ‘double Max(const std::vector&lt;double&gt;&amp;)’:
a5.cpp:8:24: error: ‘logic_error’ is not a member of ‘std’
a5.cpp:9:30: error: ‘begin’ was not declared in this scope
a5.cpp:9:38: error: ‘end’ was not declared in this scope
a5.cpp:9:39: error: ‘max_element’ was not declared in this scope
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2219822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219822</guid><dc:creator><![CDATA[Namal]]></dc:creator><pubDate>Tue, 05 Jun 2012 14:20:58 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 14:25:53 GMT]]></title><description><![CDATA[<p>du musst natürlich den entsprechenden Header einbinden... ich weiß leider gerade nicht, welcher das ist. Google hilft dir da bestimmt weiter <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/2219828</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219828</guid><dc:creator><![CDATA[daddy_felix]]></dc:creator><pubDate>Tue, 05 Jun 2012 14:25:53 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 14:28:23 GMT]]></title><description><![CDATA[<p>Ich glaub &lt;algorithm&gt;.</p>
<p>gruß<br />
syntax</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219829</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219829</guid><dc:creator><![CDATA[Syntax_error]]></dc:creator><pubDate>Tue, 05 Jun 2012 14:28:23 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 14:36:19 GMT]]></title><description><![CDATA[<p>Namal schrieb:</p>
<blockquote>
<p>ist die max_element eine vordefinierte funktion?</p>
</blockquote>
<p>Jap.</p>
<pre><code>a5.cpp:8:24: error: ‘logic_error’ is not a member of ‘std’
</code></pre>
<p>Google doch mal nach logic_error. Blindes Kopieren bringt dir keinen Lerneffekt.</p>
<pre><code>a5.cpp:9:30: error: ‘begin’ was not declared in this scope
a5.cpp:9:38: error: ‘end’ was not declared in this scope
</code></pre>
<p>Ok, du scheinst einen älteren Compiler zu nutzen, wo es std::begin noch nicht gibt. Nutze v.begin() und v.end() statt dessen.</p>
<pre><code>a5.cpp:9:39: error: ‘max_element’ was not declared in this scope
</code></pre>
<p>Google doch mal nach max_element. Blindes Kopieren bringt dir keinen Lerneffekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219836</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 05 Jun 2012 14:36:19 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 14:38:43 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Google doch mal nach logic_error. Blindes Kopieren bringt dir keinen Lerneffekt.<br />
Google doch mal nach max_element. Blindes Kopieren bringt dir keinen Lerneffekt.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219839</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Tue, 05 Jun 2012 14:38:43 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 18:04:05 GMT]]></title><description><![CDATA[<p>Ok, also mit max_element hat es geklappt, was macht eigentlich das sternchen davor?</p>
<p>Allerdings wollte ich das mit meiner idee weiter probieren, also hab ich es so verändert</p>
<pre><code class="language-cpp">double Max(const vector&lt;double&gt; &amp;v){
	vector &lt;double&gt; a(v.size());
	for (int k=0; k&lt;v.size(); ++k)
	a[k]=v[k];
	for (int l=0; l&lt;a.size(); ++l){
		if (a[l]&gt;a[l+1])
			a[l+1]=a[l];
	}
	return a[a.size()-1];
}
</code></pre>
<p>Also den vekto einfach in einen anderen umschreiben und dann vertauschen. Jetzt wird es auch ohne Probleme kompiliert, beim ausführen, nachdem man dann die letzte zahl eingegeben hat stürzt das programm aber ab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<pre><code>*** glibc detected *** ./a5: free(): invalid next size (fast): 0x08eb2068 ***
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2219934</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219934</guid><dc:creator><![CDATA[Namal]]></dc:creator><pubDate>Tue, 05 Jun 2012 18:04:05 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 18:12:49 GMT]]></title><description><![CDATA[<p>Namal schrieb:</p>
<blockquote>
<p>Ok, also mit max_element hat es geklappt, was macht eigentlich das sternchen davor?</p>
<p>Allerdings wollte ich das mit meiner idee weiter probieren, also hab ich es so verändert</p>
<pre><code class="language-cpp">double Max(const vector&lt;double&gt; &amp;v){
	vector &lt;double&gt; a(v.size());
	for (int k=0; k&lt;v.size(); ++k)
	a[k]=v[k];
	for (int l=0; l&lt;a.size(); ++l){
		if (a[l]&gt;a[l+1])
			a[l+1]=a[l];
	}
	return a[a.size()-1];
}
</code></pre>
<p>Also den vekto einfach in einen anderen umschreiben und dann vertauschen. Jetzt wird es auch ohne Probleme kompiliert, beim ausführen, nachdem man dann die letzte zahl eingegeben hat stürzt das programm aber ab <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<pre><code>*** glibc detected *** ./a5: free(): invalid next size (fast): 0x08eb2068 ***
</code></pre>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /> Wie lernst du eigentlich? Wenn du kein Buch hast, würde ich mir eins Kaufen. Empfehlungen gibt es in der FAQ.</p>
<p>Das * kann Multiplikation, Dereferenzierung oder Pointer heißen.<br />
In dem Fall Dereferenzierung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219938</guid><dc:creator><![CDATA[IrgendeinName]]></dc:creator><pubDate>Tue, 05 Jun 2012 18:12:49 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 18:25:40 GMT]]></title><description><![CDATA[<p>Nach dem was wir in der vorlesung hatten. Aber was stimmt denn jetzt nicht an dem, was ich gemacht habe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219943</guid><dc:creator><![CDATA[Namal]]></dc:creator><pubDate>Tue, 05 Jun 2012 18:25:40 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 18:30:31 GMT]]></title><description><![CDATA[<p>Namal schrieb:</p>
<blockquote>
<p>Nach dem was wir in der vorlesung hatten. Aber was stimmt denn jetzt nicht an dem, was ich gemacht habe?</p>
</blockquote>
<p>Vermutlich wo du den Index a[l + 1] veränderst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219948</guid><dc:creator><![CDATA[IrgendeinName]]></dc:creator><pubDate>Tue, 05 Jun 2012 18:30:31 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Tue, 05 Jun 2012 18:32:18 GMT]]></title><description><![CDATA[<p>Namal schrieb:</p>
<blockquote>
<p>Nach dem was wir in der vorlesung hatten. Aber was stimmt denn jetzt nicht an dem, was ich gemacht habe?</p>
</blockquote>
<p>Abgesehen von der unnötigen und ungeschickten Kopie: Überleg mal, welche Werte l haben kann und was wohl l + 1 dann sein kann.</p>
<p>edit: zu langsam.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2219950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2219950</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 05 Jun 2012 18:32:18 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Wed, 06 Jun 2012 06:38:59 GMT]]></title><description><![CDATA[<p>Namal schrieb:</p>
<blockquote>
<p>was macht eigentlich das sternchen davor?</p>
</blockquote>
<p>Was gibt die Funktion zurück? Hast du nachgeschaut? (Tip: Iterator) Und was macht ein Sternchen vor einem Iterator?</p>
<p>Du solltest dir wirklich ein gutes Buch zulegen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2220090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2220090</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 06 Jun 2012 06:38:59 GMT</pubDate></item><item><title><![CDATA[Reply to vektorfeder vertauschen on Wed, 06 Jun 2012 06:47:08 GMT]]></title><description><![CDATA[<blockquote>
<p>Allerdings wollte ich das mit meiner idee weiter probieren, also hab ich es so verändert</p>
</blockquote>
<p>Hast du nicht kapiert, dass deine Idee scheisse ist. Du brauchst keinen neuen Vektor, dubrauchst die Elemente nicht vertauschen. Du brauchst dir doch nur einen einzigen Wert merken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2220093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2220093</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 06 Jun 2012 06:47:08 GMT</pubDate></item></channel></rss>