<?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[Folgende Funktion optimieren??]]></title><description><![CDATA[<p>Habe folgende Funkttion:</p>
<pre><code class="language-cpp">void iterPath(std::vector&lt;int&gt; &amp;vM,const int &amp;iValue,int *pResult){

	int iBlock= vM[vM.size()-1];
	int iGroup= 1;

	for(int k=vM.size()-1; k&gt;=0; k--){

		int iCalc= iValue;

		iCalc= iCalc%iBlock==0 ? iBlock : iCalc%iBlock;
		pResult[k]= iCalc%iGroup==0 ? iCalc/iGroup : iCalc/iGroup+1;

		iGroup= iBlock;
		if(k&gt;0)
			iBlock= iBlock* vM[k-1];

	}
}
</code></pre>
<p>Optimierung hinsichlich Performance (Schneller machen) ??</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/183970/folgende-funktion-optimieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 14:27:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183970.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Jun 2007 06:21:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Folgende Funktion optimieren?? on Mon, 11 Jun 2007 06:21:39 GMT]]></title><description><![CDATA[<p>Habe folgende Funkttion:</p>
<pre><code class="language-cpp">void iterPath(std::vector&lt;int&gt; &amp;vM,const int &amp;iValue,int *pResult){

	int iBlock= vM[vM.size()-1];
	int iGroup= 1;

	for(int k=vM.size()-1; k&gt;=0; k--){

		int iCalc= iValue;

		iCalc= iCalc%iBlock==0 ? iBlock : iCalc%iBlock;
		pResult[k]= iCalc%iGroup==0 ? iCalc/iGroup : iCalc/iGroup+1;

		iGroup= iBlock;
		if(k&gt;0)
			iBlock= iBlock* vM[k-1];

	}
}
</code></pre>
<p>Optimierung hinsichlich Performance (Schneller machen) ??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302868</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302868</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 11 Jun 2007 06:21:39 GMT</pubDate></item><item><title><![CDATA[Reply to Folgende Funktion optimieren?? on Mon, 11 Jun 2007 06:33:16 GMT]]></title><description><![CDATA[<p>was soll denn die Funktion überhaupt machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302871</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 11 Jun 2007 06:33:16 GMT</pubDate></item><item><title><![CDATA[Reply to Folgende Funktion optimieren?? on Mon, 11 Jun 2007 07:28:47 GMT]]></title><description><![CDATA[<p>hm.. hab geahnnt das dies gefragt wird:</p>
<p>Bsp:</p>
<p>man hat 3 Elemenete A, B, C</p>
<p>Element A hat 3 Alternativen<br />
Element B hat 2 Alternativen<br />
Element C hat 4 Alternativen</p>
<p>Aus diese Konstellation 3*2*4 gibt es als 24 Möglichkeiten der auswahl von Kombinationen. siehe tabelle:</p>
<p>A B C<br />
01 1 1 1<br />
02 1 1 2<br />
03 1 1 3<br />
04 1 1 4<br />
05 1 2 1<br />
06 1 2 2<br />
07 1 2 3<br />
08 1 2 4<br />
09 2 1 1<br />
10 2 1 2<br />
11 2 1 3<br />
12 2 1 4<br />
13 2 2 1<br />
14 2 2 2<br />
15 2 2 3<br />
16 2 2 4<br />
17 3 1 1<br />
18 3 1 2<br />
19 3 1 3<br />
20 3 1 4<br />
21 3 2 1<br />
22 3 2 2<br />
23 3 2 3<br />
24 3 2 4</p>
<p>Die funktion macht nun ichts anderes wie die berechun der Kombination (A,B,C) durch wahl der nur 1- 24...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302893</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Mon, 11 Jun 2007 07:28:47 GMT</pubDate></item><item><title><![CDATA[Reply to Folgende Funktion optimieren?? on Mon, 11 Jun 2007 09:49:49 GMT]]></title><description><![CDATA[<p>Hola</p>
<p>probiers mal so. ich hab mal das modulo weggetan. is natuerlich von compiler abhaengig, ob er das nicht sowieso schon gemacht hat.</p>
<pre><code class="language-cpp">void iterPath(std::vector&lt;int&gt; &amp;vM,const int &amp;iValue,int *pResult)
{
   int iBlock = vM[vM.size() - 1];
   int iGroup = 1;

   for(int k = vM.size() - 1; k &gt;= 0; k--)
   {
      int iCalc = iValue;
      int temp = iCalc / iBlock; 
      iCalc = (temp * iBlock) == iCalc ?  iBlock : iCalc - (temp * iBlock);
      temp = iCalc / iGroup;
      presult[k] = (temp * iGroup) == iCalc ? temp : temp + 1;
      iGroup = iBlock;
      if(k &gt; 0)
         iBlock *= vM[k - 1];
   }
}
</code></pre>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1302966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302966</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Mon, 11 Jun 2007 09:49:49 GMT</pubDate></item><item><title><![CDATA[Reply to Folgende Funktion optimieren?? on Mon, 11 Jun 2007 13:06:06 GMT]]></title><description><![CDATA[<p>Äh....<br />
Huch?</p>
<pre><code class="language-cpp">void iterPath(std::vector&lt;int&gt; const&amp; vM, int iValue, int *pResult)
{ 
    sizt_t l = vM.size();
    for (size_t n = 0; n &lt; l; n++)
    {
        pResult[n] = iValue % vM[n];
        iValue /= vM[n];
    }
}
</code></pre>
<p>Oder verstehe ich die Anforderungen jetzt falsch...<br />
Und vergib mal gescheite Namen für deine Variablen, das ist ja furchtbar.<br />
Und const correctness wäre fein, und integers übergibt man nicht als &quot;const int&amp;&quot;, das macht keinen Sinn und ist bloss langsam.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303128</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 11 Jun 2007 13:06:06 GMT</pubDate></item></channel></rss>