<?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[übergabe eines array an eine funktion;]]></title><description><![CDATA[<p>Lieber bord-user <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>
<p>ich habe Probleme bei folgendem Programm:</p>
<p>Ich soll eine nicht rekursive Funktion schreiben, die ein Pacalsches Dreieck für eine gewünschte Zeilenanzahl, in einem zweidimensionalen Feld der Größe 20x20 ablegt, und an das Hauptprogramm zurückgibt.</p>
<p>Das pascalsche Dreieck sieht so aus:</p>
<p>Zeile0: 1<br />
Zeile1: 11<br />
Zeile2: 121<br />
Zeile3: 1331<br />
Zeile4: 14641 ... :p</p>
<p>mein Vorschlag:</p>
<pre><code class="language-cpp">[code]

#define ZEILEN 20
#define SPALTEN 20

void pascalDreieck (int n, int dreieck [ZEILEN] [SPALTEN]);

int main()
{

...

system (&quot;pause&quot;);
return 0;

}

void pascalDreieck (int n, int dreieck [ZEILEN] [SPALTEN]){

     int i;

     dreieck [0] [0] = 1;
     dreieck [1] [1] = 1;    
     dreieck [1] [2] = 1;  

     for (i = 2; i = n; i++) {
         dreieck [i] [] = 1;   ??? :o)
</code></pre>
<p>[/code]</p>
<p>Bitte, kann mir jemand helfen??</p>
<p>Vielen Dank!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/232985/übergabe-eines-array-an-eine-funktion</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 03:11:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/232985.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 29 Jan 2009 19:20:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to übergabe eines array an eine funktion; on Thu, 29 Jan 2009 19:20:44 GMT]]></title><description><![CDATA[<p>Lieber bord-user <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>
<p>ich habe Probleme bei folgendem Programm:</p>
<p>Ich soll eine nicht rekursive Funktion schreiben, die ein Pacalsches Dreieck für eine gewünschte Zeilenanzahl, in einem zweidimensionalen Feld der Größe 20x20 ablegt, und an das Hauptprogramm zurückgibt.</p>
<p>Das pascalsche Dreieck sieht so aus:</p>
<p>Zeile0: 1<br />
Zeile1: 11<br />
Zeile2: 121<br />
Zeile3: 1331<br />
Zeile4: 14641 ... :p</p>
<p>mein Vorschlag:</p>
<pre><code class="language-cpp">[code]

#define ZEILEN 20
#define SPALTEN 20

void pascalDreieck (int n, int dreieck [ZEILEN] [SPALTEN]);

int main()
{

...

system (&quot;pause&quot;);
return 0;

}

void pascalDreieck (int n, int dreieck [ZEILEN] [SPALTEN]){

     int i;

     dreieck [0] [0] = 1;
     dreieck [1] [1] = 1;    
     dreieck [1] [2] = 1;  

     for (i = 2; i = n; i++) {
         dreieck [i] [] = 1;   ??? :o)
</code></pre>
<p>[/code]</p>
<p>Bitte, kann mir jemand helfen??</p>
<p>Vielen Dank!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654584</guid><dc:creator><![CDATA[verzweifelter student]]></dc:creator><pubDate>Thu, 29 Jan 2009 19:20:44 GMT</pubDate></item><item><title><![CDATA[Reply to übergabe eines array an eine funktion; on Thu, 29 Jan 2009 21:04:25 GMT]]></title><description><![CDATA[<p>also erst mal würd ich ja so was machen:</p>
<pre><code class="language-cpp">#define ZEILEN 20
#define SPALTEN 20

=&gt;

const size_t ZEILEN   = 20;
const size_t SPALTEN  = 20;
</code></pre>
<p>hier vll mal nen kleines stück:</p>
<pre><code class="language-cpp">for (int i = 1; i != n; ++i)
{
   for (int j = 1; j != n; ++i)
   {
      dreieck[i][j] = fak(i) / (fak(j) * fak(i-j));
   } 
}
</code></pre>
<p>musst jz nur noch fak (fakultät) implementieren und dann noch dafür sorgen, dass du nen &quot;richtiges&quot; dreieck bastelst und kein rechtwinkliges krüppelding, wie ich das hier mach ^^</p>
<p>die fkt würde ich btw auch so deklarieren:</p>
<pre><code class="language-cpp">void pascalschesdreieck_oderwieauchimmerdernamewar (int max, int *feld)
{
//geht immernoch:
feld[0][0];
}
</code></pre>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654653</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654653</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 29 Jan 2009 21:04:25 GMT</pubDate></item><item><title><![CDATA[Reply to übergabe eines array an eine funktion; on Thu, 29 Jan 2009 21:12:48 GMT]]></title><description><![CDATA[<p>eher gemeint ist wohl</p>
<pre><code class="language-cpp">for(int z=1;z&lt;20;++z)
  for(int z=1;z&lt;20;++z)
    dreieck[s][z]=dreieck[s-1][z-1]+dreieck[s][z-1];
</code></pre>
<p>ist nur noch gar nicht fertig. zuerst muss oben links ne 1 rein und sonst oben 0. und links wohl auch lauter einsen. müßte ich mal auf papier durchspielen, ob's klappt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654659</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 29 Jan 2009 21:12:48 GMT</pubDate></item><item><title><![CDATA[Reply to übergabe eines array an eine funktion; on Thu, 29 Jan 2009 21:17:09 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>eher gemeint ist wohl</p>
<pre><code class="language-cpp">for(int z=1;z&lt;20;++z)
  for(int z=1;z&lt;20;++z) //copy &amp; paste lässt größen ;o)
    dreieck[s][z]=dreieck[s-1][z-1]+dreieck[s][z-1];
</code></pre>
<p>ist nur noch gar nicht fertig. zuerst muss oben links ne 1 rein und sonst oben 0. und links wohl auch lauter einsen. müßte ich mal auf papier durchspielen, ob's klappt.</p>
</blockquote>
<p>Nein, das meinte ich nicht so, weil er ausdrücklich nach einer nicht rekursiven Lösung gefragt hat, wollte ich auch nicht die bereits berechneten Werte nutzen - aber es klappt: für n == k ist ne 1 und ansonsten nimmt man deine gleichung um es dann halt doch wieder rekursiv (die fkt ist zwar nicht rekursiv, die lösung aber sehr wohl) zu berechnen ^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654666</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Thu, 29 Jan 2009 21:17:09 GMT</pubDate></item><item><title><![CDATA[Reply to übergabe eines array an eine funktion; on Thu, 29 Jan 2009 21:31:10 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>die fkt ist zwar nicht rekursiv, die lösung aber sehr wohl</p>
</blockquote>
<p>Das ist dynamische Programmierung und hat überhaupt nichts mit rekursion zu tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654675</guid><dc:creator><![CDATA[____]]></dc:creator><pubDate>Thu, 29 Jan 2009 21:31:10 GMT</pubDate></item><item><title><![CDATA[Reply to übergabe eines array an eine funktion; on Thu, 29 Jan 2009 22:05:38 GMT]]></title><description><![CDATA[<p>Wiedermal Zeit für meinen Standardlink. <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>
<p><a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-212469-and-highlight-is-array+2+dimensionales.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-212469-and-highlight-is-array+2+dimensionales.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654697</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Thu, 29 Jan 2009 22:05:38 GMT</pubDate></item><item><title><![CDATA[Reply to übergabe eines array an eine funktion; on Fri, 30 Jan 2009 00:51:39 GMT]]></title><description><![CDATA[<p>____ schrieb:</p>
<blockquote>
<p>unskilled schrieb:</p>
<blockquote>
<p>die fkt ist zwar nicht rekursiv, die lösung aber sehr wohl</p>
</blockquote>
<p>Das ist dynamische Programmierung und hat überhaupt nichts mit rekursion zu tun.</p>
</blockquote>
<p>es benötigt die vorigen ergebnisse also nicht?<br />
doch...<br />
also ist es eine rekursive gleichung...<br />
ist ja auch krümelkackerei - muss der kleine student selbst wissen, wie er es machen will / soll / muss - er hat jetzt beide (oder jedenfalls die 2, die ich kenn ^^) Lösungen gesehen...<br />
die eine verwendet die rekursive formel und die andere die explizite zur berechnung der binomialkoeffizienten...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654740</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 30 Jan 2009 00:51:39 GMT</pubDate></item><item><title><![CDATA[Reply to übergabe eines array an eine funktion; on Fri, 30 Jan 2009 08:44:32 GMT]]></title><description><![CDATA[<p>Guten Morgen!<br />
Danke für die Antwort!</p>
<p>ich hab jetzt doch mal mit Rekursion versucht, anders bekomme ich es sowieso nicht hin :p</p>
<p>Mein Ergebniss:</p>
<pre><code class="language-cpp">[code]

#include &lt;iostream&gt;;

using namespace std;

#define ZEILEN 20
#define SPALTEN 20

int pascalDreieck (int n, int dreieck [ZEILEN] [SPALTEN]);
unsigned long int fak (unsigned long int n);

int main()
{

int n, i;
int dreieck [ZEILEN] [SPALTEN];

cout &lt;&lt; &quot;Geben Sie die Anzahl der Zeilen des Dreiecks ein&quot; &lt;&lt; endl;
cin &gt;&gt; n;

for (i = 0; i &lt;= n; i++) {
    cout &lt;&lt; &quot;Zeile &quot; &lt;&lt; i &lt;&lt; &quot; : &quot; &lt;&lt; pascalDreieck (n, dreieck ) &lt;&lt; endl;} // 

system (&quot;pause&quot;);
return 0;

}

int pascalDreieck (int n, int dreieck [ZEILEN] [SPALTEN]){

     int i, j;

     dreieck [0] [0] = 1;

     for (int i = 1; i != n; ++i){
         for (int j = 1; j != n; ++i){
             dreieck[i][j] = fak(i) / (fak(j) * fak(i-j)); }}}

unsigned long int fak (unsigned long int n) {
         if (n==0) return 0;
         return n*fak(n-1); }
</code></pre>
<p>[/code]</p>
<p>Leider gibts bei allen Zahlen n&gt;1 ne Endlosschleife. Kann mir jemand helfen?<br />
Vielen Dank! Ihr macht das echt toll!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654826</guid><dc:creator><![CDATA[verzweifelter student]]></dc:creator><pubDate>Fri, 30 Jan 2009 08:44:32 GMT</pubDate></item><item><title><![CDATA[Reply to übergabe eines array an eine funktion; on Fri, 30 Jan 2009 10:16:59 GMT]]></title><description><![CDATA[<p>Guten Morgen <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>
<p>verzweifelter student schrieb:</p>
<blockquote>
<p>ich hab jetzt doch mal mit Rekursion versucht, anders bekomme ich es sowieso nicht hin :p</p>
</blockquote>
<p>ich seh keine rekursion...</p>
<p>btw:<br />
<code>[</code> cpp][code]<br />
ein tag von beiden reicht (cpp ^^)</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;;
</code></pre>
<p>Das <code>;</code> ist unnötig...</p>
<pre><code class="language-cpp">#define ZEILEN 20
#define SPALTEN 20
</code></pre>
<p>warum nutzt du denn für so was immer noch den präprozessor?<br />
nein, das ist nicht schneller...</p>
<pre><code class="language-cpp">int pascalDreieck (int n, int dreieck [ZEILEN] [SPALTEN]);
</code></pre>
<p>vll solltest du n umbennen?<br />
vll auch (generell) unsigned nehmen?<br />
etc.</p>
<pre><code class="language-cpp">unsigned long int fak (unsigned long int n);
//wieso lässt du nen unsigned int zu? das wird doch nix...
unsigned long int fak (unsigned int n); //(2^32-1)! &gt; 2^64-1 &gt; long
</code></pre>
<p>ich würde hier so gar mal unsigned char verwenden (255! &gt; 3*10^504)</p>
<p>btw:<br />
In C++ werden Variablen genau dort deklariert wo sie auch gebraucht werden - und meist auch gleich definiert werden können...</p>
<p>gib mir mal die exakte aufgabenstellung, dann könnte man hier vll wenigstens mal genau rausbekommen, was du machen sollst... ^^</p>
<p>noch was:</p>
<pre><code class="language-cpp">int pascalDreieck (int n, int dreieck [ZEILEN] [SPALTEN]){

     int i, j;

     dreieck [0] [0] = 1;

     for (int i = 1; i != n; ++i){
         for (int j = 1; j != n; ++i){
             dreieck[i][j] = fak(i) / (fak(j) * fak(i-j)); }}}
</code></pre>
<p>findest du die position der klammern leserlich?</p>
<pre><code class="language-cpp">int pascalDreieck (int n, int dreieck [ZEILEN] [SPALTEN])
{
     int i, j; //falsch :P

     dreieck [0] [0] = 1; //unnötig

     for (int i = 0; i != n; ++i)
     {
         for (int j = 0; j != n; ++j) //hier stand ++i -&gt; endlosschleife
         { //0 ist das erste element - und das soll die daten von 1 enthalten
             dreieck[i-1][j-1] = fak(i) / (fak(j) * fak(i-j));
         }
     }
}
</code></pre>
<p>jz bleibt nur noch übrig, das dreieck so zu bauen, dass es schön aussieht...<br />
also kommt vor die innere schleife noch ne schleife die den rest der felder 0 setzt (die, die diese zeile nicht gebraucht werden)</p>
<p>gib jz ma bitte die genaue aufgabenstellung, dann kann ich dir vll auch ein wenig mehr helfen ^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654862</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654862</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 30 Jan 2009 10:16:59 GMT</pubDate></item><item><title><![CDATA[Reply to übergabe eines array an eine funktion; on Fri, 30 Jan 2009 10:55:10 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bevor ich umsetzte was du schreibst, erst mal ne genaue Aufgabenstellung:<br />
(orginal)</p>
<p>Der französische Mathematiker Blaise Pascal ist entdecker des Pascalschen Dreiecks. Dieses Dreieck wird schritt für schritt mit Zeile 0 aufgebaut.<br />
Dazu berechnet man die n-te Zeile aus der (n-1)ten Zeile wie folgt;</p>
<p>Die Anzahl der Elemente der Zeile ist n+1;<br />
Die erste und letzte Zeile jeder Spalte ist steht die 1;<br />
Das i-te Element der Zeile n entspricht der Summe des i-ten und des (i-1)ten<br />
Elements der Zeile (n-1);</p>
<p>Beispiel: Dreieck mit 5 Zeilen:</p>
<p><strong>Zeile 0: 1<br />
Zeile 1: 1 1<br />
Zeile 2: 1 2 1<br />
Zeile 3: 1 3 3 1<br />
Zeile 4: 1 4 6 4 1</strong> // Sollte ne Pyramide geben, weiß jetzt nicht wie mans darstellt</p>
<p>a) Schreiben Sie eine nicht-rekursive Funktion mit dem Namen pascalDreieck, das die ersten n Zeilen für ein einzugebenes n in einem zweidimensionalen Feld der 20x20 ablegt.</p>
<p>b) Übertragen Sie die Funktion an ein Hauptprogramm. Bei einer Bildschirmabfrage soll das gewünsche n (Zeilenanzahl eingebeben) werden.<br />
Gewünschte ausgabe:</p>
<p>Zeile 0: 1<br />
Zeile 1: 1 1<br />
Zeile 2: 1 2 1<br />
Zeile 3: 1 3 3 1<br />
Zeile 4: 1 4 6 4 1 <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>
<p>so.. das wars. DANKE!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1654887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1654887</guid><dc:creator><![CDATA[verzweifelter student]]></dc:creator><pubDate>Fri, 30 Jan 2009 10:55:10 GMT</pubDate></item></channel></rss>