<?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[matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen)]]></title><description><![CDATA[<p>Hi profis!;)<br />
Also ich sitze jetzt schon 4 tage and dieser Matrix<br />
und komme langsam in zeitnot hab aber keine ahnung wie ich das machen koennte...<br />
waere echt total super wenn ihr n paar tips oder ideenhaettet!!!</p>
<p>ganzganz vielen dank schonmal!!!!</p>
<p>also...<br />
ich möchte eine matrix erstellen, mit dimension no x c. die werte dafür werden vom user eingegeben<br />
die spalten und zeilengroeße soll sich nachher noch aendern das mache ich ueber MAX<br />
ich kann die zahlen in matrix b verwenden um die matrix die ich will zu fuellen</p>
<p>dabei habe ich folgende bedingungen:<br />
der index der zeile darf nicht als zahl in der jeweiligen zeile auftreten<br />
keine zahl darf mehrmals in einer zeile auftreten<br />
wenn ich in der n-ten zeile die zahl 2 verwende muss in der zeile 2 die zahl n erscheinen<br />
jeder eintrag der matrix b muss genau 1 mal verwendet werden</p>
<p>so hab ich angefangen..</p>
<p>#include &lt;iostream&gt;<br />
#include&lt;vector&gt;<br />
#include&lt;cmath&gt;<br />
#include &lt;stdio.h&gt;<br />
#include&lt;cstdlib&gt;<br />
#include &lt;time.h&gt;<br />
#include&lt;errno.h&gt;</p>
<p>#define MAX 10000</p>
<p>using namespace std;</p>
<p>int no;<br />
int c;</p>
<p>int i,j;<br />
int A[MAX][MAX];</p>
<p>int n,m;<br />
int B[MAX][MAX];</p>
<p>int f,g;<br />
int C[MAX][MAX];</p>
<p>int leftOnes[MAX];<br />
int l;</p>
<p>int main()<br />
{</p>
<p>//anfangsbedingungen<br />
cout&lt;&lt;&quot;type in number of nodes&quot;&lt;&lt;endl;<br />
cin&gt;&gt;no;</p>
<p>cout&lt;&lt;&quot;type in number of connections&quot;&lt;&lt;endl;<br />
cin&gt;&gt;c;</p>
<p>//Matrix die zu füllen ist<br />
for (i=0;i&lt;no;i++)<br />
{<br />
for(j=0;j&lt;c;j++)</p>
<p>{<br />
A[i][j]=-1;<br />
printf(&quot;%d\t&quot;,A[i][j]);<br />
}<br />
printf(&quot;\n&quot;);<br />
}<br />
cout&lt;&lt;endl;</p>
<p>//Matrix mit verfügbaren zahlen<br />
for(i=0;i&lt;no;i++)<br />
{<br />
for(j=0;j&lt;c;j++)<br />
{<br />
B[i][j]=i;<br />
printf(&quot;%d\t&quot;,B[i][j]);<br />
}<br />
printf(&quot;\n&quot;);<br />
}<br />
cout&lt;&lt;endl;</p>
<p>//Füllen der Matrix<br />
for(i=0;i&lt;no;i++)<br />
{<br />
for(j=0;j&lt;c;j++)<br />
{<br />
if(B[i][j]!=i)<br />
//{</p>
<p>A[i][j]=B[i][j];<br />
//A[n][j]=i;<br />
//}<br />
else</p>
<p>A[i][j]=B[i][j+1];<br />
//8;<br />
//{<br />
//A[i][j]=B[i][j+1];<br />
//n=leftOnes[l];<br />
//continue;<br />
//}<br />
printf(&quot;%d\t&quot;,A[i][j]);<br />
}<br />
printf(&quot;\n&quot;);<br />
}<br />
cout&lt;&lt;endl;</p>
<p>}</p>
<p>aaahh...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/220991/matrix-mit-gegebenen-zahlen-fuellen-und-noch-ein-paar-bedingungen-beruecksichtigen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 18:05:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/220991.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 24 Aug 2008 09:44:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 09:44:53 GMT]]></title><description><![CDATA[<p>Hi profis!;)<br />
Also ich sitze jetzt schon 4 tage and dieser Matrix<br />
und komme langsam in zeitnot hab aber keine ahnung wie ich das machen koennte...<br />
waere echt total super wenn ihr n paar tips oder ideenhaettet!!!</p>
<p>ganzganz vielen dank schonmal!!!!</p>
<p>also...<br />
ich möchte eine matrix erstellen, mit dimension no x c. die werte dafür werden vom user eingegeben<br />
die spalten und zeilengroeße soll sich nachher noch aendern das mache ich ueber MAX<br />
ich kann die zahlen in matrix b verwenden um die matrix die ich will zu fuellen</p>
<p>dabei habe ich folgende bedingungen:<br />
der index der zeile darf nicht als zahl in der jeweiligen zeile auftreten<br />
keine zahl darf mehrmals in einer zeile auftreten<br />
wenn ich in der n-ten zeile die zahl 2 verwende muss in der zeile 2 die zahl n erscheinen<br />
jeder eintrag der matrix b muss genau 1 mal verwendet werden</p>
<p>so hab ich angefangen..</p>
<p>#include &lt;iostream&gt;<br />
#include&lt;vector&gt;<br />
#include&lt;cmath&gt;<br />
#include &lt;stdio.h&gt;<br />
#include&lt;cstdlib&gt;<br />
#include &lt;time.h&gt;<br />
#include&lt;errno.h&gt;</p>
<p>#define MAX 10000</p>
<p>using namespace std;</p>
<p>int no;<br />
int c;</p>
<p>int i,j;<br />
int A[MAX][MAX];</p>
<p>int n,m;<br />
int B[MAX][MAX];</p>
<p>int f,g;<br />
int C[MAX][MAX];</p>
<p>int leftOnes[MAX];<br />
int l;</p>
<p>int main()<br />
{</p>
<p>//anfangsbedingungen<br />
cout&lt;&lt;&quot;type in number of nodes&quot;&lt;&lt;endl;<br />
cin&gt;&gt;no;</p>
<p>cout&lt;&lt;&quot;type in number of connections&quot;&lt;&lt;endl;<br />
cin&gt;&gt;c;</p>
<p>//Matrix die zu füllen ist<br />
for (i=0;i&lt;no;i++)<br />
{<br />
for(j=0;j&lt;c;j++)</p>
<p>{<br />
A[i][j]=-1;<br />
printf(&quot;%d\t&quot;,A[i][j]);<br />
}<br />
printf(&quot;\n&quot;);<br />
}<br />
cout&lt;&lt;endl;</p>
<p>//Matrix mit verfügbaren zahlen<br />
for(i=0;i&lt;no;i++)<br />
{<br />
for(j=0;j&lt;c;j++)<br />
{<br />
B[i][j]=i;<br />
printf(&quot;%d\t&quot;,B[i][j]);<br />
}<br />
printf(&quot;\n&quot;);<br />
}<br />
cout&lt;&lt;endl;</p>
<p>//Füllen der Matrix<br />
for(i=0;i&lt;no;i++)<br />
{<br />
for(j=0;j&lt;c;j++)<br />
{<br />
if(B[i][j]!=i)<br />
//{</p>
<p>A[i][j]=B[i][j];<br />
//A[n][j]=i;<br />
//}<br />
else</p>
<p>A[i][j]=B[i][j+1];<br />
//8;<br />
//{<br />
//A[i][j]=B[i][j+1];<br />
//n=leftOnes[l];<br />
//continue;<br />
//}<br />
printf(&quot;%d\t&quot;,A[i][j]);<br />
}<br />
printf(&quot;\n&quot;);<br />
}<br />
cout&lt;&lt;endl;</p>
<p>}</p>
<p>aaahh...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570369</guid><dc:creator><![CDATA[LOUb]]></dc:creator><pubDate>Sun, 24 Aug 2008 09:44:53 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 10:02:34 GMT]]></title><description><![CDATA[<p>Ohje, bitte benutz Code-Tags und eine passende Einrückung, denn so ist dein Code vollkommen unleserlich. Davon abgesehen gibt es schönere Möglichkeiten, als mit globalen Arrays und Variablen zu arbeiten. Davon abgesehen, was willst du mit den ganzen Headern? Dein momentaner Code braucht nur &lt;iostream&gt; und nicht mehr. Abgesehen davon sind in C++ Vektoren normalen C-Arrays vorzuziehen. Und aus deiner Erklärung werde ich auch nicht so recht schlau, worauf du hinaus willst <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="😉"
    /> Zudem ist es nicht grad sinnvoll, wenn du Code postest indem ewig viele Zeilen auskommentiert sind. Das fördert nicht grad die Übersichtlichkeit. Versteh das bitte nicht als &quot;Angriff deiner Person&quot; sondern als konstruktive Kritik.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570378</guid><dc:creator><![CDATA[Berufspenner]]></dc:creator><pubDate>Sun, 24 Aug 2008 10:02:34 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 11:42:18 GMT]]></title><description><![CDATA[<p>C++ - Tags! ([ cpp] &lt;code&gt; [ /cpp])</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt; 
#include &lt;cstdlib&gt; 
#include &lt;time.h&gt;
</code></pre>
<p>mal C und mal C++ - Header?!</p>
<pre><code class="language-cpp">printf(&quot;%d\t&quot;,A[i][j]); 
} 
printf(&quot;\n&quot;); 
} 
cout&lt;&lt;endl;
</code></pre>
<p>entscheide dich zwischen C und C++ - und dann post es noch mal ordentlich...</p>
<p>btw: deine Main-Funktion ist viel zu lang - mach paar Funktionen und ruf die dann dort auf und mach die Variablen nicht alle global - oder wozu brauchst du das? Oo</p>
<p>in etwa so sollte es vll am ende aussehen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
#include &lt;vector&gt; //nutzt du ja leider nicht :/
#include &lt;cmath&gt; //scheinst du auch nicht wirklich zu benutzen
#include &lt;stdio.h&gt; //-&gt; &lt;cstdio&gt;
#include &lt;cstdlib&gt; 
#include &lt;time.h&gt; //-&gt; &lt;ctime&gt;
#include &lt;errno.h&gt; //-&gt; &lt;cerrno&gt;

#define MAX 10000
//besser:
const size_t max (10000);

#include &quot;my_matrix&quot;
/*würd ich in etwa so machen:
namespace matrix
{
  void fuellen (/*...* /)
    {
      /*...* /
    }
}
*/
int main() 
  { 
    int A[MAX][MAX]; //etc

    int no (-1), c (-1);

    cout&lt;&lt;&quot;type in number of nodes&quot;&lt;&lt;endl; 
    cin&gt;&gt;no; 

    cout&lt;&lt;&quot;type in number of connections&quot;&lt;&lt;endl; 
    cin&gt;&gt;c; 

    if ((no == -1) || (c == -1))
      {
        //fehler
      }
    //die beiden dinge könnte man auch in ner extra funktion abfragen und die fehlerbehandlung mit da rein tun

    matrix::fuellen (/**/);
  }
</code></pre>
<p>bb</p>
<p>edit: habs noch fein eingerückt ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570380</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 24 Aug 2008 11:42:18 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 10:54:05 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>in etwa so sollte es vll am ende aussehen:</p>
</blockquote>
<p>Das gilt zwar auch für den OP, aber wenn du ihn schon korrigierst, bitte auch sinnvoll einrücken, so tuen sich die wenigsten den Code an.</p>
<p>Es empfinden zwar viele als Gängelung, nur wenn jemand will das man seinen Code auch wirklich anschaut, sollte er diesen so schreiben, das andere damit nicht unnötig viel Zeit für das Lesen verschwenden.</p>
<p>cu André<br />
P.S: Wenn ich gleich Zeit finde werde ich mir den OP-Code mal anschauen, anpassen und mit sinnvollen Einrückungen posten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570398</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Sun, 24 Aug 2008 10:54:05 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 11:06:10 GMT]]></title><description><![CDATA[<blockquote>
<p>P.S: Wenn ich gleich Zeit finde werde ich mir den OP-Code mal anschauen, anpassen und mit sinnvollen Einrückungen posten.</p>
</blockquote>
<p>Glaub mir. Das macht keinen Sinn. Schreib lieber eine eigene Implementierung. Sein Code ist so verwirrend. Da bist du mit was eigenem selber schneller.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570400</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570400</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 24 Aug 2008 11:06:10 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 11:36:32 GMT]]></title><description><![CDATA[<p>asc schrieb:</p>
<blockquote>
<p>unskilled schrieb:</p>
<blockquote>
<p>in etwa so sollte es vll am ende aussehen:</p>
</blockquote>
<p>Das gilt zwar auch für den OP, aber wenn du ihn schon korrigierst, bitte auch sinnvoll einrücken, so tuen sich die wenigsten den Code an.</p>
</blockquote>
<p>Also ich habe genau an einer einzigen stelle nicht eingerückt - und dort ist es ja nun wirklich offensichtlich... aber na ok - ich korrigier das...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570414</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 24 Aug 2008 11:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 11:42:00 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>asc schrieb:</p>
<blockquote>
<p>unskilled schrieb:</p>
<blockquote>
<p>in etwa so sollte es vll am ende aussehen:</p>
</blockquote>
<p>Das gilt zwar auch für den OP, aber wenn du ihn schon korrigierst, bitte auch sinnvoll einrücken, so tuen sich die wenigsten den Code an.</p>
</blockquote>
<p>Also ich habe genau an einer einzigen stelle nicht eingerückt - und dort ist es ja nun wirklich offensichtlich... aber na ok - ich korrigier das...</p>
<p>bb</p>
</blockquote>
<p>asc meinte wohl den ganzen Inhalt des Main-Blocks <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1570418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570418</guid><dc:creator><![CDATA[Berufspenner]]></dc:creator><pubDate>Sun, 24 Aug 2008 11:42:00 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 11:44:13 GMT]]></title><description><![CDATA[<p>joar - also ein einziges mal, wo ich nich eingerückt hab ^^<br />
und das ist meines erachtens das offensichtlichste - aber ich habs ja scho verbessert *keks will* ^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570419</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 24 Aug 2008 11:44:13 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 11:58:16 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>joar - also ein einziges mal, wo ich nich eingerückt hab ^^<br />
und das ist meines erachtens das offensichtlichste - aber ich habs ja scho verbessert *keks will* ^^</p>
<p>bb</p>
</blockquote>
<p>Hast du FAST brav gemacht, denn wenn du &quot;int main()&quot; schreibst, dann solltest du auch an den Rückgabewert denken und zumindest ein &quot;return 0;&quot; anhängen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1570428</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570428</guid><dc:creator><![CDATA[Berufspenner]]></dc:creator><pubDate>Sun, 24 Aug 2008 11:58:16 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 12:10:07 GMT]]></title><description><![CDATA[<blockquote>
<p>dann solltest du auch an den Rückgabewert denken und zumindest ein &quot;return 0;&quot; anhängen</p>
</blockquote>
<p>Muss nicht sein. Ist völlig korrekt, wenn er es weglässt. Hatten wir hier schon mindestens 1000 mal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570431</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sun, 24 Aug 2008 12:10:07 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 12:27:30 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<blockquote>
<p>dann solltest du auch an den Rückgabewert denken und zumindest ein &quot;return 0;&quot; anhängen</p>
</blockquote>
<p>Muss nicht sein. Ist völlig korrekt, wenn er es weglässt. Hatten wir hier schon mindestens 1000 mal.</p>
</blockquote>
<p>Gut, der Kompiler hängt das nun an, wenn man keine Rückgabe angibt. Es ist dann wohl eine Frage des persönlichen Geschmacks. Meiner geht dahin, int main() mit einem return 0; zu beenden <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1570442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570442</guid><dc:creator><![CDATA[Berufspenner]]></dc:creator><pubDate>Sun, 24 Aug 2008 12:27:30 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 12:44:33 GMT]]></title><description><![CDATA[<p>Berufspenner schrieb:</p>
<blockquote>
<p>dann solltest du auch an den Rückgabewert denken und zumindest ein &quot;return 0;&quot; anhängen</p>
</blockquote>
<p>Das ist etwa gleich unnötig wie <code>void</code> in leeren Parameterlisten <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 />
Aber eben, Geschmackssache...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570451</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 24 Aug 2008 12:44:33 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 12:46:21 GMT]]></title><description><![CDATA[<p>Wenn er eh schon die <code>cstdlib</code> included hat, dann würd ich eh (wenn überhaupt) nen <code>return EXIT_SUCCESS;</code> nehmen... In meinen eigenen Programmen bin ich auch eher dafür, das return explizit mit hinzuschreiben - aber hier isses 1. nur nen bsp und au so völlig legal und 2. sieht man ja, dass da unten eh noch ganz viel fehlt...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570454</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 24 Aug 2008 12:46:21 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 17:24:21 GMT]]></title><description><![CDATA[<p>ja ich hatte in dem code schon ne ganze menge drin deshalb all die bibliotheken...<br />
und die kommentare hatte ich drin weil ich dachte dann versteht man vielleicht besser was ich vorhatte..</p>
<p>also vielen dank fuer die bearbeitung des codes,<br />
jetzt sieht er wenigstens schon mal besser aus... <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1570600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570600</guid><dc:creator><![CDATA[LOUb]]></dc:creator><pubDate>Sun, 24 Aug 2008 17:24:21 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 18:58:15 GMT]]></title><description><![CDATA[<p>ok und dann zu meiner erklaerung...</p>
<p>ich moechte eine matrix deren dimension vom user eingegeben wird.<br />
es werden am ende sehr grosse also vlt 10.000 x 100 matritzen werden..<br />
aber sagen wir es wird eiene 4x5 matrix vorgegeben...<br />
dann soll diese matrix mit 5 mal den zahlen 0,1,2,3 gefuellt werden.<br />
aber halt so, dass keine zahl pro zeile zweimal vorkommt.<br />
ausserdem darf der index derjeweiligen zeile nicht vorkommen.<br />
und jedes mal wenn ich eine zahl in eine zeile schreibe muss der index dieser zeile als zahl in der zeile mitdem index der ersten zahl stehen.<br />
also wenn ich die 4 in die 1. zeile schreibe muss die 1 in der 4. zeile stehen.<br />
(egal wo)<br />
trotzdem kann ich die matrix so mit 5 mal den zahlen 0,1,2,3 genau fuellen.</p>
<p>war das besser??</p>
<p>wer super wenn ihr was wuesstet wie gesagt bin echt am ende...</p>
<p>lg<br />
LOUb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570644</guid><dc:creator><![CDATA[LOUb]]></dc:creator><pubDate>Sun, 24 Aug 2008 18:58:15 GMT</pubDate></item><item><title><![CDATA[Reply to matrix mit gegebenen zahlen fuellen (und noch ein paar bedingungen beruecksichtigen) on Sun, 24 Aug 2008 20:05:27 GMT]]></title><description><![CDATA[<p>LOUb schrieb:</p>
<blockquote>
<p>ok und dann zu meiner erklaerung...</p>
</blockquote>
<p>ok, dann wollen wir das mal auseinander nehmen... oder versuchen ^^</p>
<p>LOUb schrieb:</p>
<blockquote>
<p>ich moechte eine matrix deren dimension vom user eingegeben wird.</p>
</blockquote>
<p>Hier hast du sehr viele Möglichkeiten, dieses zu realisieren...</p>
<pre><code class="language-cpp">/* gilt immer als global in dem bsp. */

const size_t cols (100);
const size_t rows (100);

/* 1 */
template &lt;class T&gt;
  struct types
    {
      typedef typename std::vector &lt;T&gt; row;
      typedef std::vector &lt;row&gt; matrix;
    };

int main ()
  {
    types &lt;int&gt;::matrix matrix;
    for (size_t i (0); i != rows; ++i)
      {
        types &lt;int&gt;::row topushback;
        for (size_t j (0); i != cols; ++j)
          {
            j.push_back (0);
          }
        matrix.push_back (topushback);
      }
  }

/* 2 */
template &lt;class T&gt;
  struct types
    {
      typedef T*  row;
      typedef row* matrix;
    };

int main ()
  {
    types &lt;int&gt;::matrix matrix = new types &lt;int&gt;::row [rows];
    for (size_t i (0); i != rows; ++i)
      {
        matrix[i] = new int [cols];
      }
//benutzen
    for (size_t i (0); i != cols; ++i)
      {
        delete []matrix[i];
      }
    delete []matrix;
  }

/* 3 und eigtl noch 4 */
/*aus den jeweiligen 2d-arrays nen 1d-array machen...
 also so was in der art:*/
std::vector &lt;int&gt; matrix (x*y); //oder std::vector &lt;int&gt; matrix; und dann alles einzeln mit push_back anfügen
//bzw.
int *matrix = new int[x*y];
</code></pre>
<p>Die Eingabe des Benutzers von wegen x und y (cols / rows) und Fehlerbehandlung bekommst du sicherlich hin, oder?</p>
<p>LOUb schrieb:</p>
<blockquote>
<p>dann soll diese matrix mit 5 mal den zahlen 0,1,2,3 gefuellt werden.<br />
aber halt so, dass keine zahl pro zeile zweimal vorkommt.<br />
ausserdem darf der index derjeweiligen zeile nicht vorkommen.</p>
</blockquote>
<p>sollte ja nicht sooo schwer sein?! (ich hab das bsp mal für die variante mit den beiden vectoren genommen)</p>
<pre><code class="language-cpp">template &lt;class T&gt;
void fill_matrix (std::vector &lt; std::vector &lt; T &gt; &gt; &amp;matrix, const size_t row)
  {
    const size_t cols (matrix[row].size ());
    std::vector &lt;T&gt; fill_with;
    for (size_t i (0); i &lt; row; ++i)
      {
        fill_with.push_back (i);
      }
    for (size_t i (row+1); i &lt; cols; ++i)
      {
        fill_with.push_back (i);
      }
/*falls du zufällig meinst:*/ std::random_shuffle (fill_with.begin (), fill_with.end ());
    for (size_t i (0); i != cols; ++i)
      {
        matrix[row][i] = fill_with[i];
      }
  }
</code></pre>
<p>LOUb schrieb:</p>
<blockquote>
<p>und jedes mal wenn ich eine zahl in eine zeile schreibe muss der index dieser zeile als zahl in der zeile mitdem index der ersten zahl stehen.<br />
also wenn ich die 4 in die 1. zeile schreibe muss die 1 in der 4. zeile stehen.</p>
</blockquote>
<p>Wie kommt man denn auf so eine Idee? Was soll das bewirken, was du hier machst? Und willst du jedes mal erst gucken, ob du die Zahl in die Zeile schreiben darfst? Ich meine, was ist, wenn du ne Matrix x*y hast und aber irgendwo x+1 oder so reinschreibst? oder in die zeile 1 ne 1 schreibst? darfst du das oder nicht?<br />
versuch einfach erst mal mit dem oben da zurechtzukommen...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1570682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1570682</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sun, 24 Aug 2008 20:05:27 GMT</pubDate></item></channel></rss>