<?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[Ein Wert in einem Arry oder einem Strukt suchen]]></title><description><![CDATA[<p>Hallo,<br />
die Überschrift ist auch meine Frage. Ich möchte in einem Arry oder einem Strukt nach einem AnsiString suchen. Sobald das Programm diesen gefunden hat, soll es die Indexnummer des Arrays oder des Struckts wiedergeben.<br />
Habt ihr dafür eine Lösung parat?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/163499/ein-wert-in-einem-arry-oder-einem-strukt-suchen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 04:20:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/163499.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Oct 2006 11:49:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ein Wert in einem Arry oder einem Strukt suchen on Mon, 30 Oct 2006 11:49:58 GMT]]></title><description><![CDATA[<p>Hallo,<br />
die Überschrift ist auch meine Frage. Ich möchte in einem Arry oder einem Strukt nach einem AnsiString suchen. Sobald das Programm diesen gefunden hat, soll es die Indexnummer des Arrays oder des Struckts wiedergeben.<br />
Habt ihr dafür eine Lösung parat?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1164398</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1164398</guid><dc:creator><![CDATA[Funpro]]></dc:creator><pubDate>Mon, 30 Oct 2006 11:49:58 GMT</pubDate></item><item><title><![CDATA[Reply to Ein Wert in einem Arry oder einem Strukt suchen on Mon, 30 Oct 2006 11:56:39 GMT]]></title><description><![CDATA[<p>Du nimmst eine Schleife und lässt sie bis zu der oberen Grenze des Arrays laufen. Bei jedem Schleifendurchgang überprüfst du auf ein Vorkommen des Strings. Wenn dem so ist, gibst du die Schleifenvariable, die du am Beginn mit 0 initialisiert hast, zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1164406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1164406</guid><dc:creator><![CDATA[Christoph K.]]></dc:creator><pubDate>Mon, 30 Oct 2006 11:56:39 GMT</pubDate></item><item><title><![CDATA[Reply to Ein Wert in einem Arry oder einem Strukt suchen on Mon, 30 Oct 2006 11:58:31 GMT]]></title><description><![CDATA[<p>Was hast du denn für ein Array/Struct? Etwas mehr Details wären schon hilfreich.</p>
<p>In einem Array von AnsiString's (&quot;AnsiString arr[...];&quot; kannst du z.B. mit einer Schleife alle Werte durchgehen und mit dem Suchtext vergleichen. Oder du verwendest std::find(), das macht das automatisch.</p>
<p>In einem struct müsstest du einzeln alle (wichtigen) Member mit dem Suchstring vergleichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1164409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1164409</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 30 Oct 2006 11:58:31 GMT</pubDate></item><item><title><![CDATA[Reply to Ein Wert in einem Arry oder einem Strukt suchen on Mon, 30 Oct 2006 12:10:26 GMT]]></title><description><![CDATA[<p>Erstmal danke für die schnellen Posts.<br />
Mein Array ist Zweidimensional. In der ersten &quot;Dimension&quot; steht eine Identifikationsnummer. In der zweiten &quot;Dimension&quot; steht ein dazugehöriger AnsiString. Wenn ich also die Indexnummer von der Identifikationsnummer(nach der Suche) herausfinde, dann kann ich diese Indexnummer verwenden um auf den dazugehörigen Ansistring zu zugreifen.<br />
Gibt es dafür eine Quelltextlösung?<br />
Hätte es sonst zwar auch gerne über einen Vektor gelöst, aber bin noch sehr neu in der C++ Geschichte unterwegs.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1164416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1164416</guid><dc:creator><![CDATA[Funpro]]></dc:creator><pubDate>Mon, 30 Oct 2006 12:10:26 GMT</pubDate></item><item><title><![CDATA[Reply to Ein Wert in einem Arry oder einem Strukt suchen on Mon, 30 Oct 2006 12:17:44 GMT]]></title><description><![CDATA[<p>Ich bevorzuge ja den Algorithmen-Ansatz:</p>
<pre><code class="language-cpp">struct data
{
  int id;
  string text;
}

bool gleich(const data&amp; item,const string&amp; text)
{ return item.text == text; }

...
vector&lt;data&gt; Daten;
...
vector&lt;data&gt;::iterator pos = find_if(Daten.begin(),Daten.end(),bind2nd(gleich,&quot;Echo&quot;));
if(pos!=Daten.end())
  cout&lt;&lt;&quot;Gefunden mit Index&quot;&lt;&lt;pos-&gt;id&lt;&lt;endl;
</code></pre>
<p>Anstelle des find_if()-Aufrufs kannst du auch in einer for()-Schleife über deine Daten rennen und jeweils pos-&gt;text mit dem Suchstring vergleichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1164422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1164422</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 30 Oct 2006 12:17:44 GMT</pubDate></item><item><title><![CDATA[Reply to Ein Wert in einem Arry oder einem Strukt suchen on Mon, 30 Oct 2006 12:49:32 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>vielleicht ist ja auch eine std::map was für Dich ? Da kannst Du (nahezu) Beliebiges als Zugriffschlüssel definieren und direkt zugreifen. Macht von der Performance her vermutlich nichts aus gegenüber CStolls Lösung, ist aber manchmal von Handling her einfacher.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1164434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1164434</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Mon, 30 Oct 2006 12:49:32 GMT</pubDate></item><item><title><![CDATA[Reply to Ein Wert in einem Arry oder einem Strukt suchen on Tue, 31 Oct 2006 07:30:06 GMT]]></title><description><![CDATA[<p>Hey,<br />
wollte es lieber mit find_if lösen. Leider komme ich mit deiner (CStoll) Lösung nicht ganz klar. Hier ist erstmal mein bisheriger Quelltext:</p>
<pre><code class="language-cpp">std::vector&lt;AnsiString&gt; ParaNum;
            std::vector&lt;AnsiString&gt; ParaName;

			_di_IXMLDocument XML = LoadXMLDocument(&quot;dynamictext_fsc.xml&quot;);
       		_di_IXMLNodeList NodeList = XML-&gt;DocumentElement-&gt;ChildNodes;
            int count = NodeList-&gt;Count;

           	for (int i=0; i&lt;count; i++)
            {
                _di_IXMLNode ValueNode = NodeList-&gt;Nodes[i];
             	ParaNum.push_back((AnsiString)ValueNode-&gt;GetAttribute(&quot;id&quot;));
                PraName.push_back(ValueNode-&gt;ChildNodes-&gt;FindNode(Language)-&gt;NodeValue);
            }
</code></pre>
<p>Nun soll in dem Vectro 'ParaNum' die Indexnummer des Elements zu einem passenden AnsiString Objekt gefunden werden.<br />
Anschliessend möchte ich diese Indexnummer in einer int-Variable ablegen, um damit auf das Element an der Gleichen Stelle von dem Vector ParaName zuzugreifen.</p>
<p>Bitte gebt mir eine Hilfestellung. Sicherlich ist die for-Schleife auch eine Lösung, dennoch ist es keine optimale Programmierung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165066</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165066</guid><dc:creator><![CDATA[Funpro]]></dc:creator><pubDate>Tue, 31 Oct 2006 07:30:06 GMT</pubDate></item><item><title><![CDATA[Reply to Ein Wert in einem Arry oder einem Strukt suchen on Wed, 01 Nov 2006 09:01:36 GMT]]></title><description><![CDATA[<p>Achso, du verwendest reine Strings in deinem vector&lt;&gt; - da reicht auch find():</p>
<pre><code class="language-cpp">vector&lt;AnsiString&gt;::iterator pos = find(ParaNum.begin(),ParaNum.end(),suchstring);
int index = pos - ParaNum.begin();
ParaName[index] = ...;
</code></pre>
<p>Aber eine bessere Lösung wäre es vermutlich, du verpackst beide Strings in eine Struct und verwaltest sie dann gemeinsam.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1165969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1165969</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 01 Nov 2006 09:01:36 GMT</pubDate></item></channel></rss>