<?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[Strukturen mit Vektoren &#x2F; Mehrfachausgabe eines Programmes]]></title><description><![CDATA[<p>Hi! (ein bischen viel ich weiß..sorry...!)<br />
1)<br />
Ich fange gerade an mit class/struct zu arbeiten und möchte jetzt eine struktur, die jeweils einen vektor und zwei Integer hat.<br />
diese drei elemente will ich dann mit Zahlen aus Vektoren/Matritzen die ich bereits habe füllen.</p>
<p>Allerdings weiß ich nicht genau wie ich den Vektor definieren soll.<br />
Und bei Füllen bin ich mir auch nich ganz sicher.<br />
Ich hab schon ganz viel gesucht aber nicht so richtig gefunden was ich brauche...<br />
Wäre super wenn jemand von euch ne idee hätte!!!</p>
<ol start="2">
<li></li>
</ol>
<p>und dann habe ich noch ein 2. problem, deshalb habe ich die funktion copy mit reingestellt!</p>
<p>ich muss das program N mal durchlaufen lassen aber wenn ich eine for schleife einbaue wird das programm nur einmal richtig durchgeführt, danach ergibt es immer null.... ich schätze das hat mit timestep=0 zu tun finde den fehler aber einfach nicht!!!</p>
<p>vielen vielen dank für jeden der sich die mühe macht.. !!<br />
lg</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;<br />
#include &lt;string&gt;</p>
<p>#define MAX 10000</p>
<p>using namespace std;</p>
<p>//deklaration globale variablen</p>
<p>int neighbours[MAX][MAX];<br />
int AktiveLinks[MAX][MAX];<br />
int l;</p>
<p>void getneighbour(int elementi,int elementj ,int nc,int nn);<br />
void getNextSetNeighbours(int elementg,int elementh ,int nc,int nn);<br />
void copy(int n,int m,int nccc,int nnnn);</p>
<p>vector&lt;int&gt;state;<br />
vector&lt;int&gt;activeLinks1stSet;</p>
<p>//das wäre dann der anfang meiner klasse/struktur<br />
class NODES<br />
{<br />
public:<br />
int stateNODES;<br />
int numNeighbNODES;<br />
std::vector&lt;int&gt;activeNODES;<br />
};</p>
<p>// im hauptprogramm erzeuge ich eine matrix und ein paar vektoren</p>
<p>int main()</p>
<p>{<br />
//deklaration lokale variablen<br />
int i,j;<br />
int numc;<br />
int numn;</p>
<p>//erzeugt wirkliche zufallszahlen<br />
srand(time(NULL));</p>
<p>//setze Anfangsbedingungen<br />
cout&lt;&lt;&quot;type in number of nodes&quot;&lt;&lt;endl;<br />
cin&gt;&gt;numn;<br />
cout&lt;&lt;&quot;type in number of connections&quot;&lt;&lt;endl;<br />
cin&gt;&gt;numc;</p>
<p>//erzeuge Vektor mit status 0/1<br />
for(i=0;i&lt;numn;i++)<br />
{<br />
state.push_back(rand()%2+0);<br />
}</p>
<p>//erzeuge vektor aktive links 1tes set<br />
for(i=0;i&lt;numn;i++)<br />
activeLinks1stSet.push_back(0);</p>
<p>//flle matrix mit zahlen<br />
getneighbour(j,i,numc, numn);</p>
<p>//hier möchte ich jetzt für (i=0 bis numn)<br />
//die vektoren activeNODES mit den spalten der matrix [j][i]füllen<br />
// und die integer stateNODES und numNeighbNODES mit der i ten<br />
//komponente der vektoren state bzw activeLinks1stSet<br />
//könnte das zb für den Vektor so ähnlich aussehen??</p>
<p>for(i=0;i&lt;numn;i++)<br />
{<br />
NODES i;<br />
for(j=0; j&lt;numc;j++)<br />
{<br />
i.active.push_back(neighbours);<br />
std::printf(&quot;|%d|\t&quot;,i.active);<br />
}<br />
}printf(&quot;\n&quot;);</p>
<p>//COPY_DYNAMIK<br />
int MC=0;<br />
int sum;<br />
int timeStep=0;<br />
l=0;<br />
do<br />
{<br />
for(int t=0;t&lt;(numn);t++)<br />
{<br />
//printf(&quot;\n------%d&quot;,t);<br />
copy(i,j,numc,numn);<br />
++timeStep;<br />
}</p>
<p>sum=0;<br />
//printf(&quot;\n&quot;);<br />
//printf(&quot;status in MC &quot;);<br />
for( i=0;i&lt;numn;i++)<br />
{<br />
//printf(&quot;%d&quot;,state[i]);<br />
sum=sum+state[i];<br />
}<br />
//printf(&quot;\n&quot;);<br />
//printf(&quot;summe in MC &quot;);<br />
// printf(&quot;\n&quot;);<br />
// printf(&quot;%d&quot;,sum);<br />
// printf(&quot;\n&quot;);<br />
++MC;<br />
}while(sum!=0&amp;&amp;sum!=numn);</p>
<p>//printf(&quot;final sum %d\n&quot;,sum);<br />
//printf(&quot;monte carlo steps in total %d\n&quot;,MC);<br />
printf(&quot;||%d||\n&quot;,timeStep-l);<br />
//printf(&quot;minus%d&quot;,l-1);</p>
<p>for(i=0;i&lt;numn;i++)<br />
{<br />
NODES i;<br />
i.stateNODES=state;<br />
i.numNeighbNODES=activeLinks1stSet;<br />
printf(&quot;&lt;%d\t%d\n&lt;&quot;,i.stateNODES,i.numNeighbNODES);<br />
}</p>
<p>return 0;<br />
}</p>
<p>//funktionen---------------------------------------------------------------------------------------</p>
<p>//erzeuge ausgangsmatrix///////////////////////////<br />
void getneighbour(int elementi,int elementj,int nc,int nn)<br />
{<br />
//hier erzeuge ich die ausgangsmatrix<br />
}</p>
<p>//COPY//////////////////////////////////////////<br />
void copy(int n,int m,int nccc,int nnnn)<br />
{<br />
int x1;<br />
int y1;<br />
int nbs;<br />
int countakt;<br />
x1=rand()%(nccc)+0;<br />
y1=rand()%(nnnn)+0;<br />
//printf(&quot;(%d)(%d)&quot;,x1,y1);<br />
//printf(&quot;\n&quot;);<br />
nbs=neighbours[x1][y1];<br />
//printf(&quot;n%dn&quot;,nbs);<br />
//printf(&quot;\n&quot;);<br />
if(state[y1]!=state[nbs])<br />
{<br />
state[y1]=state[nbs];<br />
int numakt=activeLinks1stSet[y1];<br />
activeLinks1stSet[y1]=nccc-numakt;<br />
for(m=0;m&lt;nccc;m++)<br />
{<br />
int v=neighbours[m][y1];<br />
if(state[v]!=state[y1])<br />
++activeLinks1stSet[v];<br />
if(state[v]==state[y1])<br />
--activeLinks1stSet[v];<br />
}<br />
}<br />
//printf(&quot;\n&quot;);<br />
countakt=0;<br />
for(n=0;n&lt;nnnn;n++)<br />
{<br />
//printf(&quot;|%d|&quot;,activeLinks1stSet[n]);</p>
<p>countakt=countakt+activeLinks1stSet[n];<br />
}<br />
//printf(&quot;\n&quot;);<br />
///printf(&quot;CA%dCA&quot;,countakt);<br />
if (countakt==0)<br />
{<br />
++l;<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/221759/strukturen-mit-vektoren-mehrfachausgabe-eines-programmes</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 19:43:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/221759.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 Sep 2008 06:38:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Strukturen mit Vektoren &#x2F; Mehrfachausgabe eines Programmes on Wed, 03 Sep 2008 06:38:47 GMT]]></title><description><![CDATA[<p>Hi! (ein bischen viel ich weiß..sorry...!)<br />
1)<br />
Ich fange gerade an mit class/struct zu arbeiten und möchte jetzt eine struktur, die jeweils einen vektor und zwei Integer hat.<br />
diese drei elemente will ich dann mit Zahlen aus Vektoren/Matritzen die ich bereits habe füllen.</p>
<p>Allerdings weiß ich nicht genau wie ich den Vektor definieren soll.<br />
Und bei Füllen bin ich mir auch nich ganz sicher.<br />
Ich hab schon ganz viel gesucht aber nicht so richtig gefunden was ich brauche...<br />
Wäre super wenn jemand von euch ne idee hätte!!!</p>
<ol start="2">
<li></li>
</ol>
<p>und dann habe ich noch ein 2. problem, deshalb habe ich die funktion copy mit reingestellt!</p>
<p>ich muss das program N mal durchlaufen lassen aber wenn ich eine for schleife einbaue wird das programm nur einmal richtig durchgeführt, danach ergibt es immer null.... ich schätze das hat mit timestep=0 zu tun finde den fehler aber einfach nicht!!!</p>
<p>vielen vielen dank für jeden der sich die mühe macht.. !!<br />
lg</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;<br />
#include &lt;string&gt;</p>
<p>#define MAX 10000</p>
<p>using namespace std;</p>
<p>//deklaration globale variablen</p>
<p>int neighbours[MAX][MAX];<br />
int AktiveLinks[MAX][MAX];<br />
int l;</p>
<p>void getneighbour(int elementi,int elementj ,int nc,int nn);<br />
void getNextSetNeighbours(int elementg,int elementh ,int nc,int nn);<br />
void copy(int n,int m,int nccc,int nnnn);</p>
<p>vector&lt;int&gt;state;<br />
vector&lt;int&gt;activeLinks1stSet;</p>
<p>//das wäre dann der anfang meiner klasse/struktur<br />
class NODES<br />
{<br />
public:<br />
int stateNODES;<br />
int numNeighbNODES;<br />
std::vector&lt;int&gt;activeNODES;<br />
};</p>
<p>// im hauptprogramm erzeuge ich eine matrix und ein paar vektoren</p>
<p>int main()</p>
<p>{<br />
//deklaration lokale variablen<br />
int i,j;<br />
int numc;<br />
int numn;</p>
<p>//erzeugt wirkliche zufallszahlen<br />
srand(time(NULL));</p>
<p>//setze Anfangsbedingungen<br />
cout&lt;&lt;&quot;type in number of nodes&quot;&lt;&lt;endl;<br />
cin&gt;&gt;numn;<br />
cout&lt;&lt;&quot;type in number of connections&quot;&lt;&lt;endl;<br />
cin&gt;&gt;numc;</p>
<p>//erzeuge Vektor mit status 0/1<br />
for(i=0;i&lt;numn;i++)<br />
{<br />
state.push_back(rand()%2+0);<br />
}</p>
<p>//erzeuge vektor aktive links 1tes set<br />
for(i=0;i&lt;numn;i++)<br />
activeLinks1stSet.push_back(0);</p>
<p>//flle matrix mit zahlen<br />
getneighbour(j,i,numc, numn);</p>
<p>//hier möchte ich jetzt für (i=0 bis numn)<br />
//die vektoren activeNODES mit den spalten der matrix [j][i]füllen<br />
// und die integer stateNODES und numNeighbNODES mit der i ten<br />
//komponente der vektoren state bzw activeLinks1stSet<br />
//könnte das zb für den Vektor so ähnlich aussehen??</p>
<p>for(i=0;i&lt;numn;i++)<br />
{<br />
NODES i;<br />
for(j=0; j&lt;numc;j++)<br />
{<br />
i.active.push_back(neighbours);<br />
std::printf(&quot;|%d|\t&quot;,i.active);<br />
}<br />
}printf(&quot;\n&quot;);</p>
<p>//COPY_DYNAMIK<br />
int MC=0;<br />
int sum;<br />
int timeStep=0;<br />
l=0;<br />
do<br />
{<br />
for(int t=0;t&lt;(numn);t++)<br />
{<br />
//printf(&quot;\n------%d&quot;,t);<br />
copy(i,j,numc,numn);<br />
++timeStep;<br />
}</p>
<p>sum=0;<br />
//printf(&quot;\n&quot;);<br />
//printf(&quot;status in MC &quot;);<br />
for( i=0;i&lt;numn;i++)<br />
{<br />
//printf(&quot;%d&quot;,state[i]);<br />
sum=sum+state[i];<br />
}<br />
//printf(&quot;\n&quot;);<br />
//printf(&quot;summe in MC &quot;);<br />
// printf(&quot;\n&quot;);<br />
// printf(&quot;%d&quot;,sum);<br />
// printf(&quot;\n&quot;);<br />
++MC;<br />
}while(sum!=0&amp;&amp;sum!=numn);</p>
<p>//printf(&quot;final sum %d\n&quot;,sum);<br />
//printf(&quot;monte carlo steps in total %d\n&quot;,MC);<br />
printf(&quot;||%d||\n&quot;,timeStep-l);<br />
//printf(&quot;minus%d&quot;,l-1);</p>
<p>for(i=0;i&lt;numn;i++)<br />
{<br />
NODES i;<br />
i.stateNODES=state;<br />
i.numNeighbNODES=activeLinks1stSet;<br />
printf(&quot;&lt;%d\t%d\n&lt;&quot;,i.stateNODES,i.numNeighbNODES);<br />
}</p>
<p>return 0;<br />
}</p>
<p>//funktionen---------------------------------------------------------------------------------------</p>
<p>//erzeuge ausgangsmatrix///////////////////////////<br />
void getneighbour(int elementi,int elementj,int nc,int nn)<br />
{<br />
//hier erzeuge ich die ausgangsmatrix<br />
}</p>
<p>//COPY//////////////////////////////////////////<br />
void copy(int n,int m,int nccc,int nnnn)<br />
{<br />
int x1;<br />
int y1;<br />
int nbs;<br />
int countakt;<br />
x1=rand()%(nccc)+0;<br />
y1=rand()%(nnnn)+0;<br />
//printf(&quot;(%d)(%d)&quot;,x1,y1);<br />
//printf(&quot;\n&quot;);<br />
nbs=neighbours[x1][y1];<br />
//printf(&quot;n%dn&quot;,nbs);<br />
//printf(&quot;\n&quot;);<br />
if(state[y1]!=state[nbs])<br />
{<br />
state[y1]=state[nbs];<br />
int numakt=activeLinks1stSet[y1];<br />
activeLinks1stSet[y1]=nccc-numakt;<br />
for(m=0;m&lt;nccc;m++)<br />
{<br />
int v=neighbours[m][y1];<br />
if(state[v]!=state[y1])<br />
++activeLinks1stSet[v];<br />
if(state[v]==state[y1])<br />
--activeLinks1stSet[v];<br />
}<br />
}<br />
//printf(&quot;\n&quot;);<br />
countakt=0;<br />
for(n=0;n&lt;nnnn;n++)<br />
{<br />
//printf(&quot;|%d|&quot;,activeLinks1stSet[n]);</p>
<p>countakt=countakt+activeLinks1stSet[n];<br />
}<br />
//printf(&quot;\n&quot;);<br />
///printf(&quot;CA%dCA&quot;,countakt);<br />
if (countakt==0)<br />
{<br />
++l;<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1575668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1575668</guid><dc:creator><![CDATA[LOUb]]></dc:creator><pubDate>Wed, 03 Sep 2008 06:38:47 GMT</pubDate></item><item><title><![CDATA[Reply to Strukturen mit Vektoren &#x2F; Mehrfachausgabe eines Programmes on Wed, 03 Sep 2008 08:13:59 GMT]]></title><description><![CDATA[<p>LOUb schrieb:</p>
<blockquote>
<p>Hi! (ein bischen viel ich weiß..sorry...!)</p>
</blockquote>
<p>Vor allem aber unleserlich (Die C/C++ Tags unterhalb des Editorfensters sind nicht zum Spaß da), wenn du zusätzlich auch noch dein Code sauber formatierst, wird sich das vielleicht einer antun.</p>
<p>Aber grundsätzliches:<br />
- Der Code ist im wesentlichen C, nicht C++<br />
- Konstanten per Makro zu definieren ist eine Unsitte (dazu gibt es const)<br />
- Globale Variablen sollte man ganz dringend meiden<br />
- Variablennamen sind sprechend zu bezeichnen, zumindestens wenn du willst, das dir jemand weiterhilft.<br />
- Die GROSSSCHREIBUNG ist eigentlich etwas, das man nur bei Makrobezeichnungen, nicht klassennamen macht, zudem sind Membervariablen ohnehin der Klasse/Struktur zugeordnet, so das man sie nicht explizit um den Namen ergänzen sollte.<br />
- Für klassische Stukturen wäre dein Ansatz der Klasse an sich okay, Klassen im OO-Sinne enthalten aber auch Methoden, und eigentlich Kapselt man Membervariablen damit auf diesen nicht direkte Änderungen möglich sind.</p>
<p>Vielleicht solltest du dir mal ein Buch wie C++ Primer zulegen...</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1575724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1575724</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 03 Sep 2008 08:13:59 GMT</pubDate></item></channel></rss>