<?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[float und Array]]></title><description><![CDATA[<p>Hallo Leute es ist ein Anfängerfehler der mich aber doch ärgert. Die Zahlen die ich in den if Funktionen eingefügt habe sind nur Testplatzhalter. Es werden dorthin Funktionen kommen. Mein Problem liegt darin, ich brauche das Array E[5][5] als float. Doch tausche ich int durch float aus, so bekomme ich eine Nullmatrix. Was muss ich verändern, dass zwar die Zellen immer noch 11, 12, 13,... durchnumeriert werden, aber in den einzelnen Zellen auch float Zahlen auftauchen dürfen. Und worin besteht genau der Fehler?</p>
<p>Vielen Dank für Eure Antworten</p>
<p>Gruß redXtream</p>
<p>#include &lt;iostream&gt;<br />
using namespace std;<br />
int main()<br />
{</p>
<p>int S;<br />
int D;<br />
float i;<br />
float j;<br />
int E[5][5]={0};<br />
float a;<br />
// i entspricht 2S+1<br />
// j entspricht S*(S+1)<br />
cout &lt;&lt; &quot;Geben Sie den Spin ein&quot;;<br />
// Hier wird der Spin eingegeben<br />
cin &gt;&gt; S;<br />
cout &lt;&lt; &quot;Geben Sie die Nullfeldaufspaltung ein&quot;;<br />
// Hier wird die Nullfeldaufspaltung eingegeben<br />
cin &gt;&gt; D;<br />
// Hier müssten nun die Rechnungen beginnen<br />
i = (2<em>S)+1;<br />
j = S</em>(S+1)<em>0.33;<br />
// Berechnung der Multipliztät i (2S+1) und j=S</em>(S+1)*0.33</p>
<p>for(int q = 1;q &lt; 6;q++) // linke Basis<br />
{<br />
for(int p = 1; p &lt; 6; p++) //rechte Basis, wendet man Operator Sz an so kommt p heraus<br />
{<br />
if(q==p) //Fall 1, hier muss der Operator Sz ansetzen<br />
E[q][p]=2;<br />
else if(q+2==p) // Fall 2, hier setzt der Sx Operator an<br />
E[q][p]=3;<br />
else if (q-2 == p) // Fall 3, hier setzt der Sy Operator an<br />
E[q][p]=3;<br />
else // Ansonsten bleibt nur die Null<br />
E[q][p]=0;<br />
printf(&quot;%d&quot;,E[q][p]);</p>
<p>}<br />
printf(&quot;\n&quot;);<br />
}</p>
<p>system(&quot;PAUSE&quot;);<br />
return 0;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/309218/float-und-array</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 07:26:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/309218.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Oct 2012 12:48:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to float und Array on Wed, 17 Oct 2012 12:48:43 GMT]]></title><description><![CDATA[<p>Hallo Leute es ist ein Anfängerfehler der mich aber doch ärgert. Die Zahlen die ich in den if Funktionen eingefügt habe sind nur Testplatzhalter. Es werden dorthin Funktionen kommen. Mein Problem liegt darin, ich brauche das Array E[5][5] als float. Doch tausche ich int durch float aus, so bekomme ich eine Nullmatrix. Was muss ich verändern, dass zwar die Zellen immer noch 11, 12, 13,... durchnumeriert werden, aber in den einzelnen Zellen auch float Zahlen auftauchen dürfen. Und worin besteht genau der Fehler?</p>
<p>Vielen Dank für Eure Antworten</p>
<p>Gruß redXtream</p>
<p>#include &lt;iostream&gt;<br />
using namespace std;<br />
int main()<br />
{</p>
<p>int S;<br />
int D;<br />
float i;<br />
float j;<br />
int E[5][5]={0};<br />
float a;<br />
// i entspricht 2S+1<br />
// j entspricht S*(S+1)<br />
cout &lt;&lt; &quot;Geben Sie den Spin ein&quot;;<br />
// Hier wird der Spin eingegeben<br />
cin &gt;&gt; S;<br />
cout &lt;&lt; &quot;Geben Sie die Nullfeldaufspaltung ein&quot;;<br />
// Hier wird die Nullfeldaufspaltung eingegeben<br />
cin &gt;&gt; D;<br />
// Hier müssten nun die Rechnungen beginnen<br />
i = (2<em>S)+1;<br />
j = S</em>(S+1)<em>0.33;<br />
// Berechnung der Multipliztät i (2S+1) und j=S</em>(S+1)*0.33</p>
<p>for(int q = 1;q &lt; 6;q++) // linke Basis<br />
{<br />
for(int p = 1; p &lt; 6; p++) //rechte Basis, wendet man Operator Sz an so kommt p heraus<br />
{<br />
if(q==p) //Fall 1, hier muss der Operator Sz ansetzen<br />
E[q][p]=2;<br />
else if(q+2==p) // Fall 2, hier setzt der Sx Operator an<br />
E[q][p]=3;<br />
else if (q-2 == p) // Fall 3, hier setzt der Sy Operator an<br />
E[q][p]=3;<br />
else // Ansonsten bleibt nur die Null<br />
E[q][p]=0;<br />
printf(&quot;%d&quot;,E[q][p]);</p>
<p>}<br />
printf(&quot;\n&quot;);<br />
}</p>
<p>system(&quot;PAUSE&quot;);<br />
return 0;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261334</guid><dc:creator><![CDATA[redXtream]]></dc:creator><pubDate>Wed, 17 Oct 2012 12:48:43 GMT</pubDate></item><item><title><![CDATA[Reply to float und Array on Wed, 17 Oct 2012 13:30:55 GMT]]></title><description><![CDATA[<p>das spricht nix dagegen float zu nehmen,<br />
vielleicht hast du bloß bei der ausgabe das falsche formatierungszeichen für printf benutzt</p>
<p>array-indizes beginnen mit 0 und enden bei anzahlelemente - 1.<br />
hastu 5 array elemente, so ist das letzte elment bei index 4.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261357</guid><dc:creator><![CDATA[bbbbb]]></dc:creator><pubDate>Wed, 17 Oct 2012 13:30:55 GMT</pubDate></item><item><title><![CDATA[Reply to float und Array on Wed, 17 Oct 2012 13:40:53 GMT]]></title><description><![CDATA[<p>Bitte, ist es so schwer Code-Tags zu benutzen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
	int S;
	int D;
	float i;
	float j;
	int E[5][5]= {0};
	float a;
	// i entspricht 2S+1
	// j entspricht S*(S+1)
	cout &lt;&lt; &quot;Geben Sie den Spin ein&quot;;
	// Hier wird der Spin eingegeben
	cin &gt;&gt; S;
	cout &lt;&lt; &quot;Geben Sie die Nullfeldaufspaltung ein&quot;;
	// Hier wird die Nullfeldaufspaltung eingegeben
	cin &gt;&gt; D;
	// Hier müssten nun die Rechnungen beginnen
	i = (2*S)+1;
	j = S*(S+1)*0.33;
	// Berechnung der Multipliztät i (2S+1) und j=S*(S+1)*0.33

	for(int q = 1; q &lt; 6; q++) // linke Basis
        {
                for(int p = 1; p &lt; 6; p++) //rechte Basis, wendet man Operator Sz an so kommt p heraus
                {
                        if(q==p) //Fall 1, hier muss der Operator Sz ansetzen
                                E[q][p]=2;
                        else if(q+2==p) // Fall 2, hier setzt der Sx Operator an
                                E[q][p]=3;
                        else if (q-2 == p) // Fall 3, hier setzt der Sy Operator an
                                E[q][p]=3;
                        else // Ansonsten bleibt nur die Null
                                E[q][p]=0;

                        printf(&quot;%d&quot;,E[q][p]);
                }
                printf(&quot;\n&quot;);
        }

	system(&quot;PAUSE&quot;);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2261365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261365</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Wed, 17 Oct 2012 13:40:53 GMT</pubDate></item><item><title><![CDATA[Reply to float und Array on Wed, 17 Oct 2012 14:34:06 GMT]]></title><description><![CDATA[<p>Vielen Dank für Eure Beiträge aber das nutzt mich noch nichts.</p>
<pre><code class="language-csharp">[code][/code]#include &lt;iostream&gt;
using namespace std;

int main()
{
    int S;
    int D;
    float i;
    float j;
    float E[5][5]= {0};
    float a;
    // i entspricht 2S+1
    // j entspricht S*(S+1)
    cout &lt;&lt; &quot;Geben Sie den Spin ein&quot;;
    // Hier wird der Spin eingegeben
    cin &gt;&gt; S;
    cout &lt;&lt; &quot;Geben Sie die Nullfeldaufspaltung ein&quot;;
    // Hier wird die Nullfeldaufspaltung eingegeben
    cin &gt;&gt; D;
    // Hier müssten nun die Rechnungen beginnen
    i = (2*S)+1;
    j = S*(S+1)*0.33;
    // Berechnung der Multipliztät i (2S+1) und j=S*(S+1)*0.33

    for(int q = 1; q &lt; 6; q++) // linke Basis
        {
                for(int p = 1; p &lt; 6; p++) //rechte Basis, wendet man Operator Sz an so kommt p heraus
                {
                        if(q==p) //Fall 1, hier muss der Operator Sz ansetzen
                                E[q][p]=2;
                        else if(q+2==p) // Fall 2, hier setzt der Sx Operator an
                                E[q][p]=3;
                        else if (q-2 == p) // Fall 3, hier setzt der Sy Operator an
                                E[q][p]=3;
                        else // Ansonsten bleibt nur die Null
                                E[q][p]=0;

                        printf(&quot;%d&quot;,E[q][p]);
                }
                printf(&quot;\n&quot;);
        }

    system(&quot;PAUSE&quot;);
</code></pre>
<p>}[/code]<br />
In Zeile 10 habe ich jetzt int E[5][5] zu float E[5][5] geändert. Nun spuckt er mir eine Nullmatrix heraus. Warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261390</guid><dc:creator><![CDATA[redXtream]]></dc:creator><pubDate>Wed, 17 Oct 2012 14:34:06 GMT</pubDate></item><item><title><![CDATA[Reply to float und Array on Wed, 17 Oct 2012 14:42:15 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>redXtream schrieb:</p>
<blockquote>
<p>Nun spuckt er mir eine Nullmatrix heraus. Warum?</p>
</blockquote>
<p>Weil die Tabelle hier:</p>
<p><a href="http://en.cppreference.com/w/c/io/fprintf" rel="nofollow">http://en.cppreference.com/w/c/io/fprintf</a></p>
<p>besagt, dass man <em>float</em> nicht mit %d ausgibt, sondern mit.. <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>MfG,</p>
<p>Probe-Nutzer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261392</guid><dc:creator><![CDATA[Probe-Nutzer]]></dc:creator><pubDate>Wed, 17 Oct 2012 14:42:15 GMT</pubDate></item><item><title><![CDATA[Reply to float und Array on Wed, 17 Oct 2012 14:43:29 GMT]]></title><description><![CDATA[<p>Liest du die Antworten auch?</p>
<p>bbbbb schrieb:</p>
<blockquote>
<p>das spricht nix dagegen float zu nehmen,<br />
vielleicht hast du bloß bei der ausgabe das falsche formatierungszeichen für printf benutzt</p>
<p>array-indizes beginnen mit 0 und enden bei anzahlelemente - 1.<br />
hastu 5 array elemente, so ist das letzte elment bei index 4.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2261393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261393</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Wed, 17 Oct 2012 14:43:29 GMT</pubDate></item><item><title><![CDATA[Reply to float und Array on Wed, 17 Oct 2012 14:49:28 GMT]]></title><description><![CDATA[<p>Tja, printf hat den Nachteil, das der Formatspecifier zum Variablentyp passen <strong>muss</strong>.<br />
Aber du benutzt doch C++. Warum nimmst du nicht cout. Das gibt das richtige Format abhängig vom Variablentyp aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261394</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Wed, 17 Oct 2012 14:49:28 GMT</pubDate></item><item><title><![CDATA[Reply to float und Array on Wed, 17 Oct 2012 14:56:50 GMT]]></title><description><![CDATA[<p>Den eigentlichen Fehler hat bbbbb aber auch schon genannt. Das mit den Arrayindizes ist viel schlimmer als das printf. Bei mir zum Beispiel läuft das Programm dadurch in eine Endlosschleife.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261397</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 17 Oct 2012 14:56:50 GMT</pubDate></item><item><title><![CDATA[Reply to float und Array on Wed, 17 Oct 2012 16:43:25 GMT]]></title><description><![CDATA[<p>Oh vielen Dank. Ihr hattet alle Recht.<br />
Das ich den Wert Deiner Antwort (@ bbbbb) nicht erkannt habe tut mir leid. Anfängerfehler.<br />
Hauptsache es funktioniert jetzt und ich kann weiter an meinem Programm arbeiten.</p>
<p>Nochmals vielen lieben Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261426</guid><dc:creator><![CDATA[redXtream]]></dc:creator><pubDate>Wed, 17 Oct 2012 16:43:25 GMT</pubDate></item><item><title><![CDATA[Reply to float und Array on Wed, 17 Oct 2012 18:33:47 GMT]]></title><description><![CDATA[<p>Eine Sache hätte ich noch. Wie kann ich in diesem Array, Zeilenabstand einstellen, also es ein wenig formatieren?</p>
<p>Vielen Dank für eventuelle Antworten.</p>
<p>Grüße redXtream</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261480</guid><dc:creator><![CDATA[redXtream]]></dc:creator><pubDate>Wed, 17 Oct 2012 18:33:47 GMT</pubDate></item><item><title><![CDATA[Reply to float und Array on Wed, 17 Oct 2012 19:32:16 GMT]]></title><description><![CDATA[<p>Zei<strong>l</strong>enabstand bekommst du nur mit Leerzei<strong>l</strong>en hin. Also Ausgabe von '\n'.<br />
Beim Zei<strong>ch</strong>enabstand kannst du Leerzei<strong>ch</strong>en einfügen. Da musst du dir mal die Beschreibung von printf genauer ansehen (die width- und precision-Angaben).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261499</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Wed, 17 Oct 2012 19:32:16 GMT</pubDate></item></channel></rss>