<?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[Frage zu Datentyp]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine kleines Programm zur Berechnung des Binomialkoeffizienten geschrieben ( n!/k!*((n-k)!) )-</p>
<p>Natürlich kommte es mit k! und n! zu hohen Werten, ich habe den Datentyp double verwendet, der mit aber eben bei höheren Werten nichts mehr vernünftiges Ausgibt... das Gleiche bei long.</p>
<p>Kann mir wer sagen was ich da falsch mache?</p>
<p>Danke &amp; Lg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/240692/frage-zu-datentyp</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 20:53:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240692.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 10 May 2009 12:06:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 12:06:04 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe eine kleines Programm zur Berechnung des Binomialkoeffizienten geschrieben ( n!/k!*((n-k)!) )-</p>
<p>Natürlich kommte es mit k! und n! zu hohen Werten, ich habe den Datentyp double verwendet, der mit aber eben bei höheren Werten nichts mehr vernünftiges Ausgibt... das Gleiche bei long.</p>
<p>Kann mir wer sagen was ich da falsch mache?</p>
<p>Danke &amp; Lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708439</guid><dc:creator><![CDATA[buzz_lightzyear]]></dc:creator><pubDate>Sun, 10 May 2009 12:06:04 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 12:08:26 GMT]]></title><description><![CDATA[<p>Beide Typen sind halt trotzdem noch begrenzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708442</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Sun, 10 May 2009 12:08:26 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 12:10:50 GMT]]></title><description><![CDATA[<p>rechne doch für 20 über 5 einfach</p>
<p>20/1*19/2*18/3*17/4*16/5</p>
<p>dann haste nur recht kleine zwischenergebnisse.</p>
<p>außerdem berechne nicht aus versehen 20 über 15, sondern if(k&gt;n-k) k=n-k</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708445</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 12:10:50 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 12:26:55 GMT]]></title><description><![CDATA[<p>Ich vermute, dass einfach soetwas gemacht hast:</p>
<pre><code class="language-cpp">int BionomCoeff(int iN, 
                int iK)
{
    return (fac(iN) / (fac(iK) * fac(iN - iK)));
}
</code></pre>
<p>Das is naheliegend, aber ein klassisches Beispiel, wo man eben nicht direkt aus der mathematischen Formel in Code uebersetzen soll. Eine bessere Herangehensweise hier (wenn auch in Pascal):</p>
<p><a href="http://www.csc.liv.ac.uk/~ped/teachadmin/algor/dyprog.html" rel="nofollow">http://www.csc.liv.ac.uk/~ped/teachadmin/algor/dyprog.html</a></p>
<p>(Es geht bei der Seite eigentlich um etwas anderes, aber man hat den Binomialkoeffizienten als Beispiel gewaehlt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708454</guid><dc:creator><![CDATA[hartmut1164]]></dc:creator><pubDate>Sun, 10 May 2009 12:26:55 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 13:37:32 GMT]]></title><description><![CDATA[<p>hartmut1164 schrieb:</p>
<blockquote>
<p>Eine bessere Herangehensweise hier (wenn auch in Pascal):</p>
</blockquote>
<p>ähm. hast du meine schleife gesehen?<br />
ich weiß nicht sicher, weshalb du da jetzt so ein monster vorschlägst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708480</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 13:37:32 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 14:27:02 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>hartmut1164 schrieb:</p>
<blockquote>
<p>Eine bessere Herangehensweise hier (wenn auch in Pascal):</p>
</blockquote>
<p>ähm. hast du meine schleife gesehen?<br />
ich weiß nicht sicher, weshalb du da jetzt so ein monster vorschlägst.</p>
</blockquote>
<p>Ja ich habe sie gesehen - aber bei Deiner Schleife muss von einem int-Datentyp in ein real/float-Datentyp konveriert werden, d.h. das Ergebnis ist nicht notwendigerweise ein sauberer int.</p>
<p>Genau genommen ist auch kein so grosses Monster - die &quot;eigentliche Arbeit&quot; wird in einem Fuenfzeiler gemacht, der Rest ist &quot;nur&quot; die Aufarbeitung der Daten fuer eine recursive Abarbeitung.</p>
<p>Ich habe schon &quot;Monsterhafteres&quot; geschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708501</guid><dc:creator><![CDATA[hartmut1164]]></dc:creator><pubDate>Sun, 10 May 2009 14:27:02 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 15:13:19 GMT]]></title><description><![CDATA[<p>hartmut1164 schrieb:</p>
<blockquote>
<p>Ja ich habe sie gesehen - aber bei Deiner Schleife muss von einem int-Datentyp in ein real/float-Datentyp konveriert werden, d.h. das Ergebnis ist nicht notwendigerweise ein sauberer int.</p>
</blockquote>
<p>hä?</p>
<pre><code class="language-cpp">//ungetestet
unsigned result=1;
for(unsigned int i=0;i&lt;k;++i){
   result*=n-i; // *20 *19 *18 *17 *16
   result/=k+1; // /1 /2 /3 /4 /5
}
</code></pre>
<p>wo versteckt sich da ein float? also ich sehe keinen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708525</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 15:13:19 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 15:42:45 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">//ungetestet
unsigned result=1;
for(unsigned int i=0;i&lt;k;++i){
   result*=n-i; // *20 *19 *18 *17 *16
   result/=k+1; // /1 /2 /3 /4 /5
}
</code></pre>
<p>ist offenbar falsch:</p>
<p>3 über 1 sind:<br />
3! / (2!*1!) = 3*2 / 2*1 = 3</p>
<pre><code>n = 3
k = 1

result=1;
//i == 0
result = 1* (3-0) = 3
result = 3/ (1+1) = 3/2 = 1
//i == 1
//i&lt;k -&gt; 1&lt;1 -&gt; false -&gt; break

result = 1
</code></pre>
<p>also ersetzen wir die 1 durch nen i:</p>
<pre><code class="language-cpp">//ungetestet
unsigned result=1;
for(unsigned int i=0;i&lt;k;++i){
   result*=n-i; // *20 *19 *18 *17 *16
   result/=k+i; // /1 /2 /3 /4 /5
}
</code></pre>
<pre><code>n = 3
k = 1

result=1;
//i == 0
result = 1* (3-0) = 3
result = 3/ (1+0) = 3/1 = 3
//i == 1
//i&lt;k -&gt; 1&lt;1 -&gt; false -&gt; break

result = 1
</code></pre>
<p>allerdings wäre jetzt noch zu zeigen, ob die division immer so gut klappt oder es auch passieren kann, dass der rest iwo wegfällt...</p>
<p>5 über 3 = 5! / ( 3!*2!) = 5*4*3*2*1 / 3*2*1*2*1 = 5*4*3*2 / 3*2*2 = 20/2 = 10</p>
<pre><code>n = 5
k = 3

result=1;
//i == 0
result = 1* (5-0) = 5
result = 5/ (3+0) = 5/3 = 1
//i == 1
result = 1* (5-1) = 4
result = 4/ (3+1) = 4/4 = 1
//i == 2
result = 1* (5-2) = 3
result = 3/ (3+2) = 3/5
//i&lt;k -&gt; 3&lt;3 -&gt; false -&gt; break

result = 0
</code></pre>
<p>hmm... offenbar stimmts noch immer nich... ^^<br />
naja - vrmtl sollte es <code>result /= i+1</code> heißen - aber hab jz nich so die lust, es noch mal zu testen und nen compiler hab ich gerad nich zur hand <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f623.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--persevering_face"
      title="&gt;.&lt;"
      alt="😣"
    /></p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708536</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 10 May 2009 15:42:45 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 16:33:58 GMT]]></title><description><![CDATA[<p>Wenn wir die recursive Defintion nehmen kommen wir zu dieser kl. Funktion:</p>
<pre><code class="language-cpp">int BioCof (int i_n,
            int i_k)
{
        if ((i_k == 0) || (i_n == i_k))
                return 1;
        else
                return (BioCof (i_n - 1, i_k - 1) + BioCof (i_n - 1, i_k));
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1708556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708556</guid><dc:creator><![CDATA[hartmut1164]]></dc:creator><pubDate>Sun, 10 May 2009 16:33:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 16:40:28 GMT]]></title><description><![CDATA[<p>hartmut1164 schrieb:</p>
<blockquote>
<p>Wenn wir die recursive Defintion nehmen kommen wir zu dieser kl. Funktion:</p>
<pre><code class="language-cpp">int BioCof (int i_n,
            int i_k)
{
        if ((i_k == 0) || (i_n == i_k))
                return 1;
        else
                return (BioCof (i_n - 1, i_k - 1) + BioCof (i_n - 1, i_k));
}
</code></pre>
</blockquote>
<p>bitte gib auch die laufzeit an oder mach ironie-tags.<br />
und schreib rekursiv am besten mit k.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708558</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 16:40:28 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 16:54:03 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>hartmut1164 schrieb:</p>
<blockquote>
<p>Wenn wir die recursive Defintion nehmen kommen wir zu dieser kl. Funktion:</p>
<pre><code class="language-cpp">int BioCof (int i_n,
            int i_k)
{
        if ((i_k == 0) || (i_n == i_k))
                return 1;
        else
                return (BioCof (i_n - 1, i_k - 1) + BioCof (i_n - 1, i_k));
}
</code></pre>
</blockquote>
<p>bitte gib auch die laufzeit an oder mach ironie-tags.<br />
und schreib rekursiv am besten mit k.</p>
</blockquote>
<p>Was ich in der Realitaet machen wuerde, waere z.B. das in ein Classe kapseln und z.B. einer Vektorklasse schon berechnete Ergebnisse speichern und dann wieder auf diese zurueckgreifen. Das saehe dann etwa so aus (was so etwa in im dem o.a. Link vorgeschlagen wird):</p>
<pre><code class="language-cpp">int BioCof::Calcu (int i_n,
                   int i_k)
{
    if (SearchResult (i_n, i_k) == true)
        return GetResult ();
    else if ((i_k == 0) || (i_n == i_k))
        return 1;
    else
        return (AddNewResult (i_n, i_k, BioCof (i_n - 1, i_k - 1) + BioCof (i_n - 1, i_k));
}
</code></pre>
<p>Dadurch braucht jedes Ergebis waerend der Lebenszeit der Klasse nur einmal berechnet zu werden. Man koennte die Klasse sogar einen Datenfile schreiben lassen, den sie beim ersten Aufruf einliesst und entsprechend ergaenzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708562</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708562</guid><dc:creator><![CDATA[hartmut1164]]></dc:creator><pubDate>Sun, 10 May 2009 16:54:03 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 17:02:58 GMT]]></title><description><![CDATA[<p>hasenhirn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708564</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 17:02:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 17:06:18 GMT]]></title><description><![CDATA[<p>dumfug</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708565</guid><dc:creator><![CDATA[lololo]]></dc:creator><pubDate>Sun, 10 May 2009 17:06:18 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 17:07:51 GMT]]></title><description><![CDATA[<p>so was hier könnte man dann immernoch später machen:<br />
<code>if (SearchResult (i_n, i_k) == true) return GetResult (i_n, i_k);</code><br />
aber es bleibt eben dabei:<br />
um die Fakultät zu berechnen, reicht ein unsigned int eben schon bei 13 nicht mehr aus - und das ist glaube ich nicht, was wir wollen ^^<br />
es geht um den algorithmus zur berechnung und nicht um einen container zum speichern oder so...</p>
<pre><code class="language-cpp">unsigned int binomial_koeffizient(unsigned int n, unsigned int k)
{
	if (!k)
		return n;

	if (n == k)
		return n;

	while (n &lt; k)
		n -= k;

	if (k &gt; n/2)
		k = n-k;

	unsigned int R=1;
	for (unsigned int i=k+1, e(n+1); i &lt; e; ++i)
		R *= i;

	for (unsigned int i=2, e(n-k+1); i &lt; e; ++i)
		R /= i;

	return R;
}
</code></pre>
<p>am besten wäre es jetzt natürlich wieder, wenn wir das mit dem multiplizieren und dividieren abwechseln könnten - allerdings geht es eben nicht so einfach und noch dazu können wir dann nicht mehr garantieren, dass die division richtig funktioniert...</p>
<p>hübsch ist es noch immer nicht, aber ich seh nicht mehr viel, was man eleganter machen könnte...</p>
<p>gibt genau eine zeile, die man evtl noch optimieren könnte (die initialisierung von R und dafür einen schleifendurchlauf weniger) - aber das wird der compiler vrmtl scho selbst machen und außerdem bringt es ja ungefähr gar nix... ^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708566</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 10 May 2009 17:07:51 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 17:08:09 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>naja - vrmtl sollte es <code>result /= i+1</code> heißen</p>
</blockquote>
<p>so ist es.</p>
<pre><code class="language-cpp">unsigned int bf(unsigned int n,unsigned int k){
	unsigned result=1;
	for(unsigned int i=0;i&lt;k;++i){
		result*=n-i; // *20 *19 *18 *17 *16
		result/=i+1; // /1 /2 /3 /4 /5
	}
	return result;
}

int main()
{
	cout&lt;&lt;bf(20,7)&lt;&lt;'\n';
    return 0;
}
</code></pre>
<p>gibt 77520 aus, das sagt auch der taschenrechner.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708567</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 17:08:09 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 17:22:42 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>am besten wäre es jetzt natürlich wieder, wenn wir das mit dem multiplizieren und dividieren abwechseln könnten - allerdings geht es eben nicht so einfach und noch dazu können wir dann nicht mehr garantieren, dass die division richtig funktioniert...</p>
</blockquote>
<p>doch, das kann man.<br />
jede siebente zahl ist durch sieben teilbar. unter sieben aufeinanderfolgenden zahlen ist gewiß eine darunter, die durch sieben teilbar ist. das läßt sich bestimmt zu einem hübschen beweis aufblasen.</p>
<p>ich mach nen kleineren:<br />
n über k ist doch immer eine ganze zahl.<br />
nun sind aber genau die zwischenergebnisse</p>
<p>20/1<br />
20/1<em>19/2<br />
20/1*19/2*18/3<br />
20/1*19/2*18/3</em>17/4<br />
...<br />
alles nur die zahlen 20ü0, 20ü1, 20ü2, 20ü3...<br />
also ist stets in der division kein fehler passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708569</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 17:22:42 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 17:22:05 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">unsigned int binomial_koeffizient(unsigned int n, unsigned int k)
{
	if (!k)
		return n;//return 1

	if (n == k)//if k&gt;=n
		return n;//retuen 1

	while (n &lt; k)//??
		n -= k;//??
</code></pre>
<p>aber egal, darum ging es gar nicht. ich hab gar keine tests gemacht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708571</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708571</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 17:22:05 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 17:31:33 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<pre><code class="language-cpp">unsigned int binomial_koeffizient(unsigned int n, unsigned int k)
{
	if (!k)
		return n;//return 1

	if (n == k)//if k&gt;=n
		return n;//retuen 1

	while (n &lt; k)//??
		n -= k;//??
</code></pre>
<p>aber egal, darum ging es gar nicht. ich hab gar keine tests gemacht.</p>
</blockquote>
<p>jopp - das erste beide stimmt natürlich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f623.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--persevering_face"
      title="&gt;.&lt;"
      alt="😣"
    /></p>
<p>die schleife ist vrmtl schlicht falsch - iwie hab ich da was von wegen symmetrie in erinnerung gehabt, was es aber irgendwie nicht gibt <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="😃"
    /> also ich habs zumindest nicht auf die schnelle gefunden <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="😃"
    /></p>
<p>von wegen * mit / abwechseln: hmm, ok... klingt gut <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708573</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 10 May 2009 17:31:33 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 19:30:24 GMT]]></title><description><![CDATA[<p>Ich denke eine Moeglichkeit waere auch das Pascalsche Dreieck auszurechenen (jeweils nur Haelfte):</p>
<pre><code class="language-cpp">int GetWideTriangle (int  i_n)
{
        if ((i_n % 2) == 0)
                return i_n / 2;
        else
                return (i_n + 1) / 2;
}

int *AllocFill (int   iHalfTriangle)
{
        int  *aReturn;

        aReturn = calloc (iHalfTriangle, sizeof (int));

        for (int iLoop = 0, iLoop &lt; iHalfTriangle, iLoop++)
                aReturn [iLoop] = 1;

        return aReturn;
}

void RunPascal (int    *aLine,
                int     iRow)

{
        for (int iCol = 0, iCol &lt; GetWideTriangle (iRow), iCol++)
        {
                iReminder = aLine [iCol];
                aLine [iCol] = aLine [iCol + 1] + iReminder;
        }
}

int BioCof (int  i_n
            int  i_k)
{
        int    *aLine;
                iReturn;

        aLine = AllocFill (GetWideTriangle (i_n));

        for (int iRow = 0, iRow &lt; i_n, iRow++)
                RunPascal (aLine, iRow);

        if (i_k &gt; i_n / 2)
                iReturn = aLine [i_n - i_k];
        else
                iReturn = aLine [i_k];

        free (aLine);

        return iReturn;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1708635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708635</guid><dc:creator><![CDATA[hartmut1164]]></dc:creator><pubDate>Sun, 10 May 2009 19:30:24 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 19:30:58 GMT]]></title><description><![CDATA[<p>hartmut1164 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int GetWideTriangle (int  i_n)
{
        if ((i_n % 2) == 0)
                return i_n / 2;
        else
                return (i_n + 1) / 2;
}
</code></pre>
</blockquote>
<pre><code class="language-cpp">int GetWideTriangle (int  i_n)
{
        return (i_n + 1) / 2;
}
</code></pre>
<p>bei dir ist nett, daß das ergebnis sogar immer richtig ist, wenn es in einen int paßt, also gar kein überlauf zwischendrin ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708639</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 10 May 2009 19:30:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Datentyp on Sun, 10 May 2009 20:33:04 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>bei dir ist nett, daß das ergebnis sogar immer richtig ist, wenn es in einen int paßt, also gar kein überlauf zwischendrin ist.</p>
</blockquote>
<p>sooo geil xD</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1708698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1708698</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 10 May 2009 20:33:04 GMT</pubDate></item></channel></rss>