<?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[Suche Idee für Algorithmus zur Abstandsbestimmung]]></title><description><![CDATA[<p>Hallo, ich muss den Abstand zweier Punkte ermitteln. Die Schwierigkeit dabei ist, dass die Punkte wie folgt angeordnet sind:</p>
<p>Es gibt 100 Felder. Diese sind quadratisch (also 10x10) angeordnet. In jedem dieser 100 Felder gibt es 25 Unterfelder (5x5).<br />
Der Zugriff auf die Punkte erfolgt so:<br />
51,4 zu 68,11. Das heißt vom 4. Unterfeld des 51. Feldes zum 11. Unterfeld des 68. Feldes.</p>
<pre><code>..
[50][51][52][53][54][55][56][57][58][59]
[60][61][62][63][64][65][66][67][68][69]
[70][71][72][73][74][75][76][77][78][79]
..

zB. 51. Feld:
[ 1][ 2][ 3][ 4][ 5]
[ 6][ 7][ 8][ 9][10]
[11][12][13][14][15]
[16][17][18][19][20]
[21][22][23][24][25]
</code></pre>
<p>Leider will ich nicht so recht auf einen Ansatz kommen.<br />
Hat jemand eine Idee wie man sowas als Algorithmus formulieren könnte?</p>
<p>Meine einzige Idee wäre es, das ganze als ein Koordinatensystem zu behandeln (also 2500 Felder, 50x50). Allderdings weis ich nicht, wie ich dann die einzelnen Koordinaten umwandeln müsste.</p>
<p>Bin über jede Anregung dankbar <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/241316/suche-idee-für-algorithmus-zur-abstandsbestimmung</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 16:50:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/241316.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 May 2009 20:50:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Suche Idee für Algorithmus zur Abstandsbestimmung on Mon, 18 May 2009 20:50:38 GMT]]></title><description><![CDATA[<p>Hallo, ich muss den Abstand zweier Punkte ermitteln. Die Schwierigkeit dabei ist, dass die Punkte wie folgt angeordnet sind:</p>
<p>Es gibt 100 Felder. Diese sind quadratisch (also 10x10) angeordnet. In jedem dieser 100 Felder gibt es 25 Unterfelder (5x5).<br />
Der Zugriff auf die Punkte erfolgt so:<br />
51,4 zu 68,11. Das heißt vom 4. Unterfeld des 51. Feldes zum 11. Unterfeld des 68. Feldes.</p>
<pre><code>..
[50][51][52][53][54][55][56][57][58][59]
[60][61][62][63][64][65][66][67][68][69]
[70][71][72][73][74][75][76][77][78][79]
..

zB. 51. Feld:
[ 1][ 2][ 3][ 4][ 5]
[ 6][ 7][ 8][ 9][10]
[11][12][13][14][15]
[16][17][18][19][20]
[21][22][23][24][25]
</code></pre>
<p>Leider will ich nicht so recht auf einen Ansatz kommen.<br />
Hat jemand eine Idee wie man sowas als Algorithmus formulieren könnte?</p>
<p>Meine einzige Idee wäre es, das ganze als ein Koordinatensystem zu behandeln (also 2500 Felder, 50x50). Allderdings weis ich nicht, wie ich dann die einzelnen Koordinaten umwandeln müsste.</p>
<p>Bin über jede Anregung dankbar <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1712503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712503</guid><dc:creator><![CDATA[Mathc]]></dc:creator><pubDate>Mon, 18 May 2009 20:50:38 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Idee für Algorithmus zur Abstandsbestimmung on Mon, 18 May 2009 21:18:08 GMT]]></title><description><![CDATA[<p>Mathc schrieb:</p>
<blockquote>
<p>Allderdings weis ich nicht, wie ich dann die einzelnen Koordinaten umwandeln müsste</p>
</blockquote>
<p>Simples Rechnen.</p>
<p>Angenommen deine X-Koordinate geht (bezogen auf dein Bild) von links nach rechts und die Y-Koordinate von oben nach unten.</p>
<p>Dann läge<br />
68,11<br />
X: 8 * 10 + 1<br />
Y: 6 * 10 + 1</p>
<p>oder ausführlicher</p>
<p>für die X-Koordinate willst du die letzt Ziffer von der 68 (also die <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--smiling_face_with_sunglasses"
      title="8)"
      alt="😎"
    /> und die letzt Ziffer von der 11<br />
X: 68 mod 10 + 11 mod 10</p>
<p>für die Y-Koordinate willst du die erste Ziffer von der 68 und die erste Ziffer von der 11<br />
Y: 68 / 10 + 11 / 10<br />
(integer-Division, d.h. die Zahlen nach dem Komma fallen einfach weg)</p>
<p>... nur so als Anregung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1712518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712518</guid><dc:creator><![CDATA[Anreger]]></dc:creator><pubDate>Mon, 18 May 2009 21:18:08 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Idee für Algorithmus zur Abstandsbestimmung on Mon, 18 May 2009 21:34:07 GMT]]></title><link>https://www.c-plusplus.net/forum/post/1712520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712520</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 18 May 2009 21:34:07 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Idee für Algorithmus zur Abstandsbestimmung on Mon, 18 May 2009 21:55:10 GMT]]></title><description><![CDATA[<p>Meine Rechnung stimmt hinten und vorne nicht.</p>
<p>War aber auch nur als Anregung gedacht ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1712524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712524</guid><dc:creator><![CDATA[Anreger]]></dc:creator><pubDate>Mon, 18 May 2009 21:55:10 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Idee für Algorithmus zur Abstandsbestimmung on Mon, 18 May 2009 22:39:00 GMT]]></title><description><![CDATA[<p>Ich schreibe es besser richtig hin, falls mein Fehler von vorhin doch zu sehr verwirrt hat.</p>
<p>Wenn du auch die 25 Felder mit 0 bis 24 durchzählst, sollte das funktionieren:</p>
<p>z sei die Feldnummer des 100er Feldes (0..99)<br />
f die des 25er Feldes (0..24)</p>
<p>X-Koordinate: (z mod 10) * 5 + f mod 5<br />
Y-Koordinate: (z / 10) * 5 + f / 5</p>
<p>D.h.<br />
99,24 würde die Koordinaten 49:49 bekommen<br />
0,0 würde die Koordinaten 0:0 bekommen<br />
0, 24 würde die Koordinaten 4:4 bekommen<br />
1, 24 würde die Koordinate 9:4 bekommen</p>
<p>usw.</p>
<p>Wenn diese Umrechnung erfolgt ist, sollte die Abstandsberechnung trivial sein.</p>
<p>Bleibt die Frage: Was hat das mit c++ zu tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1712530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712530</guid><dc:creator><![CDATA[Anreger]]></dc:creator><pubDate>Mon, 18 May 2009 22:39:00 GMT</pubDate></item><item><title><![CDATA[Reply to Suche Idee für Algorithmus zur Abstandsbestimmung on Tue, 19 May 2009 08:44:34 GMT]]></title><description><![CDATA[<p>Die Nummern im großen Feld beginnen bei 0 und die im Sub-Feld bei 1 - ein bisschen krank, aber das muss man beachten. Ich unterstelle mal, dass der Abstand zweier benachbarter Subfelder ==1 ist.<br />
benutze <a href="http://www.c-plusplus.net/forum/viewtopic-var-p-is-1108802.html#1108802" rel="nofollow">'Vector.h'</a> und dann ..</p>
<pre><code class="language-cpp">#include &quot;Vektor.h&quot; // http://www.c-plusplus.net/forum/viewtopic-var-p-is-1108802.html#1108802
#include &lt;iostream&gt;

struct FeldNummer
{
    int m_feldNr;
    int m_subFeldNr;

    friend std::istream&amp; operator&gt;&gt;( std::istream&amp; in, FeldNummer&amp; nr )
    {
        char komma;
        if( in &gt;&gt; nr.m_feldNr &gt;&gt; komma &gt;&gt; nr.m_subFeldNr &amp;&amp; komma != ',' )
            in.setstate( std::ios_base::failbit );
        return in;
    }
};

template&lt; int XSize, int YSize, int Base &gt;
basic_vector&lt; double &gt; makePos( int nr )
{
    const int idx = nr - Base;
    return basic_vector&lt; double &gt;( idx % XSize, idx / YSize );
}

basic_vector&lt; double &gt; makePos( const FeldNummer&amp; nr )
{
    return makePos&lt; 10, 10, 0 &gt;( nr.m_feldNr ) * 5 + makePos&lt; 5, 5, 1 &gt;( nr.m_subFeldNr );
}

int main()
{
    using namespace std;
    cout &lt;&lt; &quot;gegen sie zwei Felder an zB.: 51,4 68,11 &quot; &lt;&lt; endl;
    for( FeldNummer von, bis; cin &gt;&gt; von &gt;&gt; bis; )
    {
        cout &lt;&lt; &quot;Der Abstand betraegt: &quot; &lt;&lt; abs( makePos( bis ) - makePos( von ) ) &lt;&lt; endl;
    }
    return 0;
}
</code></pre>
<p>Man erhält z.B.:</p>
<pre><code>gegen sie zwei Felder an zB.: 51,4 68,11
54,4 76,13
Der Abstand betraegt: 15
x
Press any key to continue . . .
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1712647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1712647</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 19 May 2009 08:44:34 GMT</pubDate></item></channel></rss>