<?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[algorithmus]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe Probleme bei einem kleinen Algorithmus. Es geht um Pausezeiten, ist ist die eigentliche Fahrtzeit gegeben und dazu sollen nach folgender Bed. Zeiten addiert werden:<br />
Nach 4,5 h -&gt; 1h Ruhe, dann nach 9h -&gt; 11h Pause usw. werden die Zeiten zur Fahrtdauer aufaddiert.</p>
<p>Wenn man z.B. 19h fährt hat man 24h Pause<br />
4,5 h -&gt; 1h Pause<br />
9,0 h -&gt; 11h Ruhe<br />
13,5 h -&gt; 1h Pause<br />
18h -&gt; 11h Ruhe</p>
<p>als erste Version habe ich es für max 4 x Pause programmiert</p>
<pre><code>maxlauf=4;
lauf=0;
while (lauf &lt;= maxlauf)
{
   lauf++;
   switch (lauf)
   {
    case 1:
     if (dauer &gt; 270) dauer = dauer + 60;

     break;
    case 2:
     if (dauer &gt; 540) dauer = dauer + 660;
     break;
    case 3:
    if (dauer &gt; 810) dauer = dauer + 60;

    break;
    case 4:
     if (dauer &gt; 1080) dauer = dauer + 660;
     break;
}
</code></pre>
<p>Das möchte ich jetzt variabel machen. Je nach Höhe der Fahrtdauer, soll die Anzahl der Durchgänge bestimmt werden und entschieden werden, ob Pause oder Ruhezeit ist:</p>
<pre><code>int  dauer = 850; 
  int lauf, maxlauf, lpause_max=270, lruhe_max = 540, pause = 60, ruhe = 660, stand = 0, ges_pause = 0;

  maxlauf=dauer/lpause_max;
  lauf=0;
  while ((lauf &lt;= maxlauf)) 
  {
   lauf++;
   //Prüfung ob Pause oder Ruhe und dauer entspr um pause oder ruhe addieren.
   // Wie mache ich das?, s.u. ist ein Versuch komme aber nicht weiter 
   // if(stand ==0)
    //{
        //stand == pause;
        //dauer = dauer +pause;
    //}
   // else
   // {
   //  stand = stand +pause;
   //  if (stand/ruhe&gt;0)
   //     {
   //        dauer = dauer + ruhe;
   //        stand = stand +ruhe;
   //     }
   //     else dauer = dauer + pause;
   // }

 }
</code></pre>
<p>Kann mir bitte jemand bei dem Ansatz weiterhelfen?</p>
<p>vielen Dank schon mal..</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/244481/algorithmus</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 10:14:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244481.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 30 Jun 2009 20:38:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to algorithmus on Tue, 30 Jun 2009 20:38:16 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe Probleme bei einem kleinen Algorithmus. Es geht um Pausezeiten, ist ist die eigentliche Fahrtzeit gegeben und dazu sollen nach folgender Bed. Zeiten addiert werden:<br />
Nach 4,5 h -&gt; 1h Ruhe, dann nach 9h -&gt; 11h Pause usw. werden die Zeiten zur Fahrtdauer aufaddiert.</p>
<p>Wenn man z.B. 19h fährt hat man 24h Pause<br />
4,5 h -&gt; 1h Pause<br />
9,0 h -&gt; 11h Ruhe<br />
13,5 h -&gt; 1h Pause<br />
18h -&gt; 11h Ruhe</p>
<p>als erste Version habe ich es für max 4 x Pause programmiert</p>
<pre><code>maxlauf=4;
lauf=0;
while (lauf &lt;= maxlauf)
{
   lauf++;
   switch (lauf)
   {
    case 1:
     if (dauer &gt; 270) dauer = dauer + 60;

     break;
    case 2:
     if (dauer &gt; 540) dauer = dauer + 660;
     break;
    case 3:
    if (dauer &gt; 810) dauer = dauer + 60;

    break;
    case 4:
     if (dauer &gt; 1080) dauer = dauer + 660;
     break;
}
</code></pre>
<p>Das möchte ich jetzt variabel machen. Je nach Höhe der Fahrtdauer, soll die Anzahl der Durchgänge bestimmt werden und entschieden werden, ob Pause oder Ruhezeit ist:</p>
<pre><code>int  dauer = 850; 
  int lauf, maxlauf, lpause_max=270, lruhe_max = 540, pause = 60, ruhe = 660, stand = 0, ges_pause = 0;

  maxlauf=dauer/lpause_max;
  lauf=0;
  while ((lauf &lt;= maxlauf)) 
  {
   lauf++;
   //Prüfung ob Pause oder Ruhe und dauer entspr um pause oder ruhe addieren.
   // Wie mache ich das?, s.u. ist ein Versuch komme aber nicht weiter 
   // if(stand ==0)
    //{
        //stand == pause;
        //dauer = dauer +pause;
    //}
   // else
   // {
   //  stand = stand +pause;
   //  if (stand/ruhe&gt;0)
   //     {
   //        dauer = dauer + ruhe;
   //        stand = stand +ruhe;
   //     }
   //     else dauer = dauer + pause;
   // }

 }
</code></pre>
<p>Kann mir bitte jemand bei dem Ansatz weiterhelfen?</p>
<p>vielen Dank schon mal..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735264</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735264</guid><dc:creator><![CDATA[*lt*---*gt*]]></dc:creator><pubDate>Tue, 30 Jun 2009 20:38:16 GMT</pubDate></item><item><title><![CDATA[Reply to algorithmus on Tue, 30 Jun 2009 21:51:23 GMT]]></title><description><![CDATA[<p>nicht [C O D E] sondern [ C P P]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735295</guid><dc:creator><![CDATA[Mentras]]></dc:creator><pubDate>Tue, 30 Jun 2009 21:51:23 GMT</pubDate></item><item><title><![CDATA[Reply to algorithmus on Wed, 01 Jul 2009 05:54:54 GMT]]></title><description><![CDATA[<p>Ich wäre dafür Beträge die einen längern COde beinhalten und keine Tags verwenden gleich zu löschen... irgendwie nervts....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735325</guid><dc:creator><![CDATA[Gustl]]></dc:creator><pubDate>Wed, 01 Jul 2009 05:54:54 GMT</pubDate></item><item><title><![CDATA[Reply to algorithmus on Wed, 01 Jul 2009 06:04:16 GMT]]></title><description><![CDATA[<p>Gustl schrieb:</p>
<blockquote>
<p>Ich wäre dafür Beträge die einen längern COde beinhalten und keine Tags verwenden gleich zu löschen... irgendwie nervts....</p>
</blockquote>
<p>++++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735327</guid><dc:creator><![CDATA[Zustimmer]]></dc:creator><pubDate>Wed, 01 Jul 2009 06:04:16 GMT</pubDate></item><item><title><![CDATA[Reply to algorithmus on Wed, 01 Jul 2009 06:38:39 GMT]]></title><description><![CDATA[<p>Es gibt halt nicht in jedem Forum cpp-Tags...<br />
Und er hat auch code-tags gesetzt aber scheinbar auch BBCode deaktiviert...<br />
Ich unterstell ihm keine bewusste Schlampigkeit.</p>
<p>Zum Thema:<br />
Findest du das direkte Arbeiten mit den Studen nicht etwas aufwändig? Merk dir doch einfachg die Anzahl der 4,5-stündigen Abschnitte.<br />
Und dann dynamisch die Stunden zusammenrechnen, z.B.</p>
<pre><code class="language-cpp">int semiSteps = m_steps / 2;
int lastStep = m_steps % 2;
double hoursOnTheRoad = m_steps * 4.5; // die gefahrenen Stunden
hoursOnTheRoad += semiSteps * 1;    // die ersten 4,5 einer 9 Stunden-Rallye
hoursOnTheRoad += semiSteps * 11;   // die zweiten 4,5 einer 9 Stunden-Rallye
hoursOnTheRoad += lastStep * 1;     // Falls nochmal eine 4,5h angefangen wurde
hoursOnTheRoad += m_counter;        // m_counter zählt von 0 bis 4,5. Da wird dann auf 0 gesetzt und m_steps um 1 inkrementiert.
</code></pre>
<p>Das wäre mein Ansatz.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735334</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Wed, 01 Jul 2009 06:38:39 GMT</pubDate></item></channel></rss>