<?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[Problem mit forschleife]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein kleines problem : diese forschleife gibt nur das erste Element aus, wieso? Ich hätte gern das es alle elemente ausgibt...</p>
<p>void ausgabe(float a[])<br />
{<br />
int la = (int) sizeof(a)/sizeof(a[0]);<br />
for(int i = 0; i &lt; la; ++i )<br />
{<br />
cout &lt;&lt; a[i] &lt;&lt; endl;<br />
}</p>
<p>}</p>
<p>void main(void)<br />
{<br />
float a[5];<br />
a[0] = 1;<br />
a[1] = 2;<br />
a[2] = 3;<br />
a[3] = 4;<br />
a[4] = 5;</p>
<p>ausgabe(a);<br />
}</p>
<p>gruß</p>
<p>exeC101</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/245318/problem-mit-forschleife</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 21:14:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245318.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Jul 2009 18:35:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit forschleife on Sun, 12 Jul 2009 18:35:01 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein kleines problem : diese forschleife gibt nur das erste Element aus, wieso? Ich hätte gern das es alle elemente ausgibt...</p>
<p>void ausgabe(float a[])<br />
{<br />
int la = (int) sizeof(a)/sizeof(a[0]);<br />
for(int i = 0; i &lt; la; ++i )<br />
{<br />
cout &lt;&lt; a[i] &lt;&lt; endl;<br />
}</p>
<p>}</p>
<p>void main(void)<br />
{<br />
float a[5];<br />
a[0] = 1;<br />
a[1] = 2;<br />
a[2] = 3;<br />
a[3] = 4;<br />
a[4] = 5;</p>
<p>ausgabe(a);<br />
}</p>
<p>gruß</p>
<p>exeC101</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741642</guid><dc:creator><![CDATA[exeC101]]></dc:creator><pubDate>Sun, 12 Jul 2009 18:35:01 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit forschleife on Sun, 12 Jul 2009 18:40:01 GMT]]></title><description><![CDATA[<p>Verwende bitte [cpp]-Tags (erste weisse Schaltfläche unter den Smileys).</p>
<p>Wenn du Arrays auf diese Weise an Funktionen weitergibst, kannst du intern nicht mehr auf die Grösse zugreifen. Der <code>sizeof</code> -Operator gibt dir dann die Grösse des Zeigers an. Gib die Anzahl Elemente als zusätzlichen Parameter mit, oder verwende Container anstelle von rohen Arrays (das rät sich sowieso).</p>
<p>Im Weiteren ist <code>void main()</code> nicht gültiges Standard-C++, <code>main()</code> muss den Rückgabetypen <code>int</code> haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741646</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 12 Jul 2009 18:40:01 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit forschleife on Sun, 12 Jul 2009 18:43:48 GMT]]></title><description><![CDATA[<p>ah ok vielen dank ich versuchs mal.</p>
<p>gruß<br />
Exec</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741649</guid><dc:creator><![CDATA[exeC101]]></dc:creator><pubDate>Sun, 12 Jul 2009 18:43:48 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit forschleife on Sun, 12 Jul 2009 22:39:03 GMT]]></title><description><![CDATA[<p>Hier mal alle 3 Möglichkeiten:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;vector&gt;

using namespace std;

template &lt;unsigned int N&gt;
void print(float (&amp;a)[N])
{
	for (unsigned int i = 0; i &lt; N; ++i)
	{
		cout &lt;&lt; a[i] &lt;&lt; endl;
	}
}

void print2(float *a, unsigned int size)
{
	for (unsigned int i = 0; i &lt; size; ++i)
	{
		cout &lt;&lt; a[i] &lt;&lt; endl;
	}
}

void print3(const vector&lt;float&gt; &amp;a)
{
	for (unsigned int i = 0; i &lt; a.size(); ++i)
	{
		cout &lt;&lt; a[i] &lt;&lt; endl;
	}
}

int main()
{
	float a[4] = {0, 0, 0, 0};

	print(a);

	print2(a, sizeof(a) / sizeof(a[0]));

	//std::vector
	vector&lt;float&gt; vec_a;
	vec_a.push_back(0);
	vec_a.push_back(0);
	vec_a.push_back(0);
	vec_a.push_back(0);
	print3(vec_a);

	cin.get();
}
</code></pre>
<p>Die erste ist unflexibel, die dritte ist ein wenig &quot;teurer&quot;, weil der Speicher vom Heap kommt. Mit der zweiten Variante ist man oft gut beraten, jedoch muss man sehr gut aufpassen, was man als Größe übergibt. Das nimmt einem std::vector natürlich ab (und dessen Größe ist dynamisch).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1741811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741811</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Sun, 12 Jul 2009 22:39:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit forschleife on Sun, 12 Jul 2009 22:52:49 GMT]]></title><description><![CDATA[<p>Vierte Möglichkeit: <code>std::tr1::array</code> oder <code>boost::array</code> .</p>
<p>Bietet alle Möglichkeiten eines Arrays, unterstützt darüber hinaus auch Kopiersemantik und das Iteratoren-Konzept und merkt sich die Grösse. Im Debug-Modus helfen Assertions, ungültige Indizes zu vermeiden. Im Releasemodus hat man dafür <code>at()</code> , das einem eine <code>std::out_of_range</code> wirft. Und das alles für keinen bis minimalen Overhead.</p>
<p>Tönt verlockend, oder? <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="😉"
    /><br />
Hier mal ein Anwendungsbeispiel:</p>
<pre><code class="language-cpp">typedef std::tr1::array&lt;int, 4&gt; Array;

Array Arr = {1, 3, 4, 7};         // Aggregat-Initialisierungsliste
Array Arr2 = Arr;                 // Array kopieren
Arr[2] = 0;                       // Zugriff über operator[]

for (Array::iterator i = Arr.begin(); i != Arr.end(); ++i)
    *i += 2;                      // Iterator-Layout

Arr2 = Arr;                       // Zuweisung
std::size_t Size = Arr.size();    // Grösse abfragen
Arr.assign(37);                   // Alle Elemente auf 37 setzen
Array::reference Ref = Arr.at(1); // Typedefs
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1741817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1741817</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 12 Jul 2009 22:52:49 GMT</pubDate></item></channel></rss>