<?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[Überprüfen von Gleichungen]]></title><description><![CDATA[<p>Hallo!</p>
<p>Es geht um die Aufgabe 22 auf diesem Blatt: <a href="http://www.itp.uni-hannover.de/~dragon/blatt05.pdf" rel="nofollow">http://www.itp.uni-hannover.de/~dragon/blatt05.pdf</a> bzw. <a href="http://www.itp.uni-hannover.de/~dragon/blatt05.ps" rel="nofollow">http://www.itp.uni-hannover.de/~dragon/blatt05.ps</a></p>
<p>Meine Lösung dazu lautet:</p>
<pre><code class="language-cpp">// Uebungsblatt: 5
// Aufgabe: 22
//
// Funktion: Ueberprueft diverse Gleichungen
// Autor: &lt;Realname zensiert&gt;, &lt;Immatrikulationsnummer zensiert&gt;
//
// Ausgabe:
// Nr. 1: OK
// Nr. 2: OK
// Nr. 3: OK
// Nr. 4: OK

#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
using namespace std;

int delta(int i, int j)
{
  if (i == j) return 1;
  else return 0;
}

int epsilon(int i, int j, int k)
{
  if ((i == 1 &amp;&amp; j == 2 &amp;&amp; k == 3) ||
      (i == 3 &amp;&amp; j == 1 &amp;&amp; k == 2) ||
      (i == 2 &amp;&amp; j == 3 &amp;&amp; k == 1)) return 1;
  else
    if ((i == 3 &amp;&amp; j == 2 &amp;&amp; k == 1) ||
	(i == 1 &amp;&amp; j == 3 &amp;&amp; k == 2) ||
	(i == 2 &amp;&amp; j == 1 &amp;&amp; k == 3)) return -1;
    else return 0;
}

struct result 
{
  bool ok;
  string errmsg;
};

result f1(void)
{
  result r;
  for (int i = 1; i &lt; 4; i++)
    for (int j = 1; j &lt; 4; j++)
      for (int k = 1; k &lt; 4; k++)
	for (int l = 1; l &lt; 4; l++)
	  for (int m = 1; m &lt; 4; m++)
	    for (int n = 1; n &lt; 4; n++)
	      if (!(epsilon(i, j, k) * epsilon(l, m, n) == 
		      delta(i, l) * delta(j, m) * delta(k, n)
		    + delta(j, l) * delta(k, m) * delta(i, n)
		    + delta(k, l) * delta(i, m) * delta(j, n)
		    - delta(j, l) * delta(i, m) * delta(k, n)
		    - delta(i, l) * delta(k, m) * delta(j, n)
		    - delta(k, l) * delta(j, m) * delta(i, n)))
		{
		  r.ok = false;
		  stringstream ss;
		  ss &lt;&lt; &quot;e&quot; &lt;&lt; i &lt;&lt; j &lt;&lt; k &lt;&lt; &quot;*e&quot; &lt;&lt; l &lt;&lt; m &lt;&lt; n
		     &lt;&lt; &quot; = d&quot; &lt;&lt; i &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; j &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; k &lt;&lt; n
		     &lt;&lt; &quot; + d&quot; &lt;&lt; j &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; k &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; i &lt;&lt; n
		     &lt;&lt; &quot; + d&quot; &lt;&lt; k &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; i &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; j &lt;&lt; n
		     &lt;&lt; &quot; - d&quot; &lt;&lt; i &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; j &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; k &lt;&lt; n
		     &lt;&lt; &quot; - d&quot; &lt;&lt; j &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; k &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; i &lt;&lt; n
		     &lt;&lt; &quot; - d&quot; &lt;&lt; k &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; i &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; j &lt;&lt; n;
		  r.errmsg = ss.str();
		  return r;
		}
  r.ok = true;
  return r;
}

result f2(void)
{
  result r;
  for (int i = 1; i &lt; 4 ; i++)
    for (int j = 1; j &lt; 4 ; j++)
      for (int l = 1; l &lt; 4 ; l++)
	for (int m = 1; m &lt; 4 ; m++)
	  {
	    int sum = 0;
	    for (int k = 1; k &lt; 4; k++)
	      sum += epsilon(i, j, k) * epsilon(l, m, k);
	    if (!(sum == delta(i, l) * delta(j, m) 
		  - delta(j, l) * delta(i, m)))
	      {
		r.ok = false;
		stringstream ss;
		ss &lt;&lt; &quot;e&quot; &lt;&lt; i &lt;&lt; j &lt;&lt; &quot;k*e&quot; &lt;&lt; l &lt;&lt; m
		   &lt;&lt; &quot;k = d&quot; &lt;&lt; i &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; j &lt;&lt; m
		   &lt;&lt; &quot; - d&quot; &lt;&lt; j &lt;&lt; l &lt;&lt; &quot; *d&quot; &lt;&lt; i &lt;&lt; m;
		r.errmsg = ss.str();
		return r;
	      }
	  }
  r.ok = true;
  return r;
}

result f3(void)
{  
  result r;
  for (int i = 1; i &lt; 4 ; i++)
    for (int l = 1; l &lt; 4 ; l++)
      {
	int sum = 0;
	for(int j = 1; j &lt; 4; j++)
	  for(int k = 1; k &lt; 4; k++)
	    sum += epsilon(i, j, k) * epsilon(l, j, k);
	if (!(sum == 2 * delta(i, l)))
	  {
	    r.ok = false;
	    stringstream ss;
	    ss &lt;&lt; &quot;e&quot; &lt;&lt; i &lt;&lt; &quot;jk*e&quot; &lt;&lt; l &lt;&lt; &quot;jk = 2*d&quot; &lt;&lt; i &lt;&lt; l;
	    r.errmsg = ss.str();
	    return r;
	  }
      }
  r.ok = true;
  return r;
}

result f4(void)
{  
  result r;
  int sum = 0;
  for (int i = 1; i &lt; 4 ; i++)
    for (int j = 1; j &lt; 4 ; j++)
      for (int k = 1; k &lt; 4 ; k++)
	sum += epsilon(i, j, k) * epsilon(i, j, k);
  if (sum != 6)
    {
      r.ok = false;
      stringstream ss;
      ss &lt;&lt; &quot;eijk*eijk = &quot; &lt;&lt; sum;
      r.errmsg = ss.str();
    }
  else r.ok = true;
  return r;
}

int main(int argc, char argv[])
{
  cout &lt;&lt; &quot;Nr. 1: &quot;;
  if (f1().ok) cout &lt;&lt; &quot;OK&quot; &lt;&lt; endl;
  else cout &lt;&lt; &quot;Failed at: &quot; &lt;&lt; f1().errmsg &lt;&lt; endl;
  cout &lt;&lt; &quot;Nr. 2: &quot;;
  if (f2().ok) cout &lt;&lt; &quot;OK&quot; &lt;&lt; endl;
  else cout &lt;&lt; &quot;Failed at: &quot; &lt;&lt; f2().errmsg &lt;&lt; endl;
  cout &lt;&lt; &quot;Nr. 3: &quot;;
  if (f3().ok) cout &lt;&lt; &quot;OK&quot; &lt;&lt; endl;
  else cout &lt;&lt; &quot;Failed at: &quot; &lt;&lt; f3().errmsg &lt;&lt; endl;
  cout &lt;&lt; &quot;Nr. 4: &quot;;
  if (f4().ok) cout &lt;&lt; &quot;OK&quot; &lt;&lt; endl;
  else cout &lt;&lt; &quot;Failed at: &quot; &lt;&lt; f4().errmsg &lt;&lt; endl;
  return 0;
}
</code></pre>
<p>Was haltet ihr davon?<br />
Ich bitte um jede Art von Kritik.</p>
<p>MfG<br />
mastercpp</p>
<p>PS: Ist schon abgegeben. (Ihr macht also nicht meine Hausaufgaben)</p>
<p>EDIT: Ups, falsche Nummer</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/126901/überprüfen-von-gleichungen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 01:09:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/126901.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 19 Nov 2005 18:40:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Überprüfen von Gleichungen on Sat, 19 Nov 2005 18:49:51 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Es geht um die Aufgabe 22 auf diesem Blatt: <a href="http://www.itp.uni-hannover.de/~dragon/blatt05.pdf" rel="nofollow">http://www.itp.uni-hannover.de/~dragon/blatt05.pdf</a> bzw. <a href="http://www.itp.uni-hannover.de/~dragon/blatt05.ps" rel="nofollow">http://www.itp.uni-hannover.de/~dragon/blatt05.ps</a></p>
<p>Meine Lösung dazu lautet:</p>
<pre><code class="language-cpp">// Uebungsblatt: 5
// Aufgabe: 22
//
// Funktion: Ueberprueft diverse Gleichungen
// Autor: &lt;Realname zensiert&gt;, &lt;Immatrikulationsnummer zensiert&gt;
//
// Ausgabe:
// Nr. 1: OK
// Nr. 2: OK
// Nr. 3: OK
// Nr. 4: OK

#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
using namespace std;

int delta(int i, int j)
{
  if (i == j) return 1;
  else return 0;
}

int epsilon(int i, int j, int k)
{
  if ((i == 1 &amp;&amp; j == 2 &amp;&amp; k == 3) ||
      (i == 3 &amp;&amp; j == 1 &amp;&amp; k == 2) ||
      (i == 2 &amp;&amp; j == 3 &amp;&amp; k == 1)) return 1;
  else
    if ((i == 3 &amp;&amp; j == 2 &amp;&amp; k == 1) ||
	(i == 1 &amp;&amp; j == 3 &amp;&amp; k == 2) ||
	(i == 2 &amp;&amp; j == 1 &amp;&amp; k == 3)) return -1;
    else return 0;
}

struct result 
{
  bool ok;
  string errmsg;
};

result f1(void)
{
  result r;
  for (int i = 1; i &lt; 4; i++)
    for (int j = 1; j &lt; 4; j++)
      for (int k = 1; k &lt; 4; k++)
	for (int l = 1; l &lt; 4; l++)
	  for (int m = 1; m &lt; 4; m++)
	    for (int n = 1; n &lt; 4; n++)
	      if (!(epsilon(i, j, k) * epsilon(l, m, n) == 
		      delta(i, l) * delta(j, m) * delta(k, n)
		    + delta(j, l) * delta(k, m) * delta(i, n)
		    + delta(k, l) * delta(i, m) * delta(j, n)
		    - delta(j, l) * delta(i, m) * delta(k, n)
		    - delta(i, l) * delta(k, m) * delta(j, n)
		    - delta(k, l) * delta(j, m) * delta(i, n)))
		{
		  r.ok = false;
		  stringstream ss;
		  ss &lt;&lt; &quot;e&quot; &lt;&lt; i &lt;&lt; j &lt;&lt; k &lt;&lt; &quot;*e&quot; &lt;&lt; l &lt;&lt; m &lt;&lt; n
		     &lt;&lt; &quot; = d&quot; &lt;&lt; i &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; j &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; k &lt;&lt; n
		     &lt;&lt; &quot; + d&quot; &lt;&lt; j &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; k &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; i &lt;&lt; n
		     &lt;&lt; &quot; + d&quot; &lt;&lt; k &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; i &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; j &lt;&lt; n
		     &lt;&lt; &quot; - d&quot; &lt;&lt; i &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; j &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; k &lt;&lt; n
		     &lt;&lt; &quot; - d&quot; &lt;&lt; j &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; k &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; i &lt;&lt; n
		     &lt;&lt; &quot; - d&quot; &lt;&lt; k &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; i &lt;&lt; m &lt;&lt; &quot;*d&quot; &lt;&lt; j &lt;&lt; n;
		  r.errmsg = ss.str();
		  return r;
		}
  r.ok = true;
  return r;
}

result f2(void)
{
  result r;
  for (int i = 1; i &lt; 4 ; i++)
    for (int j = 1; j &lt; 4 ; j++)
      for (int l = 1; l &lt; 4 ; l++)
	for (int m = 1; m &lt; 4 ; m++)
	  {
	    int sum = 0;
	    for (int k = 1; k &lt; 4; k++)
	      sum += epsilon(i, j, k) * epsilon(l, m, k);
	    if (!(sum == delta(i, l) * delta(j, m) 
		  - delta(j, l) * delta(i, m)))
	      {
		r.ok = false;
		stringstream ss;
		ss &lt;&lt; &quot;e&quot; &lt;&lt; i &lt;&lt; j &lt;&lt; &quot;k*e&quot; &lt;&lt; l &lt;&lt; m
		   &lt;&lt; &quot;k = d&quot; &lt;&lt; i &lt;&lt; l &lt;&lt; &quot;*d&quot; &lt;&lt; j &lt;&lt; m
		   &lt;&lt; &quot; - d&quot; &lt;&lt; j &lt;&lt; l &lt;&lt; &quot; *d&quot; &lt;&lt; i &lt;&lt; m;
		r.errmsg = ss.str();
		return r;
	      }
	  }
  r.ok = true;
  return r;
}

result f3(void)
{  
  result r;
  for (int i = 1; i &lt; 4 ; i++)
    for (int l = 1; l &lt; 4 ; l++)
      {
	int sum = 0;
	for(int j = 1; j &lt; 4; j++)
	  for(int k = 1; k &lt; 4; k++)
	    sum += epsilon(i, j, k) * epsilon(l, j, k);
	if (!(sum == 2 * delta(i, l)))
	  {
	    r.ok = false;
	    stringstream ss;
	    ss &lt;&lt; &quot;e&quot; &lt;&lt; i &lt;&lt; &quot;jk*e&quot; &lt;&lt; l &lt;&lt; &quot;jk = 2*d&quot; &lt;&lt; i &lt;&lt; l;
	    r.errmsg = ss.str();
	    return r;
	  }
      }
  r.ok = true;
  return r;
}

result f4(void)
{  
  result r;
  int sum = 0;
  for (int i = 1; i &lt; 4 ; i++)
    for (int j = 1; j &lt; 4 ; j++)
      for (int k = 1; k &lt; 4 ; k++)
	sum += epsilon(i, j, k) * epsilon(i, j, k);
  if (sum != 6)
    {
      r.ok = false;
      stringstream ss;
      ss &lt;&lt; &quot;eijk*eijk = &quot; &lt;&lt; sum;
      r.errmsg = ss.str();
    }
  else r.ok = true;
  return r;
}

int main(int argc, char argv[])
{
  cout &lt;&lt; &quot;Nr. 1: &quot;;
  if (f1().ok) cout &lt;&lt; &quot;OK&quot; &lt;&lt; endl;
  else cout &lt;&lt; &quot;Failed at: &quot; &lt;&lt; f1().errmsg &lt;&lt; endl;
  cout &lt;&lt; &quot;Nr. 2: &quot;;
  if (f2().ok) cout &lt;&lt; &quot;OK&quot; &lt;&lt; endl;
  else cout &lt;&lt; &quot;Failed at: &quot; &lt;&lt; f2().errmsg &lt;&lt; endl;
  cout &lt;&lt; &quot;Nr. 3: &quot;;
  if (f3().ok) cout &lt;&lt; &quot;OK&quot; &lt;&lt; endl;
  else cout &lt;&lt; &quot;Failed at: &quot; &lt;&lt; f3().errmsg &lt;&lt; endl;
  cout &lt;&lt; &quot;Nr. 4: &quot;;
  if (f4().ok) cout &lt;&lt; &quot;OK&quot; &lt;&lt; endl;
  else cout &lt;&lt; &quot;Failed at: &quot; &lt;&lt; f4().errmsg &lt;&lt; endl;
  return 0;
}
</code></pre>
<p>Was haltet ihr davon?<br />
Ich bitte um jede Art von Kritik.</p>
<p>MfG<br />
mastercpp</p>
<p>PS: Ist schon abgegeben. (Ihr macht also nicht meine Hausaufgaben)</p>
<p>EDIT: Ups, falsche Nummer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/921634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/921634</guid><dc:creator><![CDATA[mastercpp]]></dc:creator><pubDate>Sat, 19 Nov 2005 18:49:51 GMT</pubDate></item><item><title><![CDATA[Reply to Überprüfen von Gleichungen on Mon, 21 Nov 2005 11:21:15 GMT]]></title><description><![CDATA[<p>Ich würde das Ergebnis der jeweiligen Teilfunktionen zwischenspeichern:</p>
<pre><code class="language-cpp">result res;
res=f1();
if(res.ok)
  cout &lt;&lt; &quot;OK&quot; &lt;&lt; endl;
else
 cout &lt;&lt; &quot;Failed at: &quot; &lt;&lt; res.errmsg &lt;&lt; endl;
</code></pre>
<p>(mit deinem Quelltext rechnest du die ganze Schleifenserie im Ernstfall doppelt durch - erst um das .ok zu ermitteln, danach um nochmal die Fehlerstelle zu finden)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923130</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923130</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 21 Nov 2005 11:21:15 GMT</pubDate></item><item><title><![CDATA[Reply to Überprüfen von Gleichungen on Mon, 21 Nov 2005 23:14:38 GMT]]></title><description><![CDATA[<p>Hallo mastercpp,</p>
<p>es gibt ein paar kosmetische Sachen. Bei den operator++ bevorzugt man eher den prefix- statt postfix-operator. Bei int's ist es aber egal; dann ist es eher eine Stilfrage.</p>
<p>Die Schreibweise func(void), wenn eine Funktion keine Parameter hat, ist eher C-Stil. void kann man weglassen.</p>
<p>Wichtiger finde ich, die Schreibweise des Programms so umzustellen, dass Tipp-Fehler möglichst offensichtlich werden. Bei dieser Art von Programmm können kleinere Schreibfehler zum Problem werden.<br />
Zum Beispiel in f1():</p>
<pre><code class="language-cpp">if (!(epsilon(i, j, k) * epsilon(l, m, n) ==
                  delta(i, l) * delta(j, m) * delta(k, n)
                + delta(j, l) * delta(k, m) * delta(i, n)
                + delta(k, l) * delta(i, m) * delta(j, n)
                - delta(k, l) * delta(j, m) * delta(i, n) // &lt;--
                - delta(j, l) * delta(i, m) * delta(k, n)
                - delta(i, l) * delta(k, m) * delta(j, n)
              ))
</code></pre>
<p>ich habe lediglich die letzte Zeile (s. Markierung) der Gleichung um zwei Zeilen nach oben geschoben. Das ändert natürlich nichts an dem Programm, aber es wird eine Struktur bei der Indizierung sichtbar.<br />
In den unteren drei Zeilen laufen die drei Indizes genau entgegengesetzt zu den oberen drei Zeilen. Durch eine solche Anordnung würde ein Tippfehler eher auffallen, ohne dass man die Gleichung genau kennen muss!</p>
<p>Noch ein Punkt ist redundanter Code. Grundsätzlich gilt es den zu verhindern. Zum einen könntest Du die result-struct so erweitern</p>
<pre><code class="language-cpp">struct result
{
    result() : ok( true ), errmsg() {}
    explicit result( const std::string&amp; em ) : ok( false ), errmsg( em ) {}
    bool ok;
    string errmsg;
};
</code></pre>
<p>und könntest dann in jeder Funktion die immer gleichen vier Zeilen einsparen. Also z.B. in f1()</p>
<pre><code class="language-cpp">result f3(void)
{  
//    result r;
    for (int i = 1; i &lt; 4 ; i++)
        for (int l = 1; l &lt; 4 ; l++)
        {
            int sum = 0;
            for(int j = 1; j &lt; 4; j++)
                for(int k = 1; k &lt; 4; k++)
                    sum += epsilon(i, j, k) * epsilon(l, j, k);
            if (!(sum == 2 * delta(i, l)))
            {
//                r.ok = false;
                stringstream ss;
                ss &lt;&lt; &quot;e&quot; &lt;&lt; i &lt;&lt; &quot;jk*e&quot; &lt;&lt; l &lt;&lt; &quot;jk = 2*d&quot; &lt;&lt; i &lt;&lt; l;
//                r.errmsg = ss.str();
                return result( ss.str() );
            }
        }
//        r.ok = true;
        return result();
}
</code></pre>
<p>alle auskommentierten Zeilen fallen jeweils weg.</p>
<p>Redundant sind auch die vielen Schleifen; wobei es hier schwieriger ist, dass zu generalisieren. Eine Möglichkeit wäre so was</p>
<pre><code class="language-cpp">template&lt; int Von, int Bis, int N &gt;
struct Indizes
{
    Indizes() : m_idx( N, Von ), m_end( false ) {}
    Indizes&amp; operator++()
    {
        int n_overflow = 0;
        for( std::vector&lt; int &gt;::iterator i = m_idx.begin()
            ; i != m_idx.end() &amp;&amp; ++*i &gt; Bis; ++i )
        {
            *i = Von;
            ++n_overflow;
        }
        if( n_overflow == N ) m_end = true;
        return *this;
    }
    int operator[]( int i ) const
    {
        return m_idx[i];
    }
    bool end() const { return m_end; }
private:
    std::vector&lt; int &gt; m_idx;
    bool m_end;
};
</code></pre>
<p>und die Anwendung</p>
<pre><code class="language-cpp">result f1(void)
{
    for( Indizes&lt; 1, 3, 6 &gt; i; !i.end(); ++i )
    {
        if( !... )  // Zugriff mit i[&lt;Idx des Index&gt;]
        {
            ...
            return result( ss.str() );
        } 
    }
    return result();
}
</code></pre>
<p>ob man das dann macht oder nicht, ist aber eine Geschmacksfrage <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>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/923932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/923932</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 21 Nov 2005 23:14:38 GMT</pubDate></item></channel></rss>