<?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[Verschlüsselung durch Lauflängenkodierung - zeigt nur Werte &amp;lt;1 an]]></title><description><![CDATA[<p>Guten abend,</p>
<p>mittlerweile hat es geklappt ein Programm zu schreiben, dass einen Text einliest, ihn verschlüsselt (mit RLE) und wieder ausgibt.</p>
<p>Mein Problem ist aber, dass ich möchte, das auch die Anzahl 1 ausgegeben wird. Leider komme ich nicht auf die Lösung - für Hilfe wäre ich dankbar.</p>
<p>Einen schönen Abend noch und schon mal vielen Dank.</p>
<p>Mein Code:</p>
<p>#include &lt;string&gt;<br />
#include &lt;iostream&gt;<br />
#include &lt;sstream&gt;</p>
<p>std::string Decode(const std::string&amp; input);<br />
std::string Encode(const std::string&amp; input);</p>
<p>int main()<br />
{<br />
std::string input = &quot;xxxvvvkaka&quot;;</p>
<p>std::cout &lt;&lt; input &lt;&lt; std::endl;</p>
<p>std::string res = Encode(input);</p>
<p>std::cout &lt;&lt; res &lt;&lt; std::endl;</p>
<p>std::cout &lt;&lt; Decode(res) &lt;&lt; std::endl;</p>
<p>return 0;<br />
}</p>
<p>std::string Decode(const std::string&amp; input)<br />
{<br />
std::string result;</p>
<p>for (size_t i = 0; i &lt; input.length(); ++i)<br />
{<br />
if (input[i] == '\1')<br />
{<br />
result += input[++i];<br />
}<br />
else if (isdigit(input[i]))<br />
{<br />
char c = (input[i + 1] == '\1' ? input[i + 2] : input[i + 1]);</p>
<p>for (size_t j = 1; j &lt; (size_t) input[i] - '0'; ++j)<br />
{<br />
result += c;<br />
}<br />
}<br />
else<br />
{<br />
result += input[i];<br />
}<br />
}</p>
<p>return result;<br />
}</p>
<p>std::string Encode(const std::string&amp; input)<br />
{<br />
std::string result;</p>
<p>int count = 1;</p>
<p>for (size_t i = 0; i &lt; input.length(); ++i)<br />
{<br />
if (input[i + 1] == input[i])<br />
{<br />
++count;<br />
}<br />
else<br />
{<br />
if (count &gt; 2 &amp;&amp; count &lt;= 9)<br />
{<br />
result += count + '0';<br />
}</p>
<p>if (isdigit(input[i]))<br />
{<br />
result += '\1';<br />
}</p>
<p>if (count == 2)<br />
{<br />
result += input[i];<br />
}</p>
<p>result += input[i];</p>
<p>count = 1;<br />
}<br />
}</p>
<p>return result;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/310380/verschlüsselung-durch-lauflängenkodierung-zeigt-nur-werte-lt-1-an</link><generator>RSS for Node</generator><lastBuildDate>Tue, 04 Aug 2026 17:34:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/310380.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Nov 2012 22:02:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verschlüsselung durch Lauflängenkodierung - zeigt nur Werte &amp;lt;1 an on Fri, 09 Nov 2012 22:02:32 GMT]]></title><description><![CDATA[<p>Guten abend,</p>
<p>mittlerweile hat es geklappt ein Programm zu schreiben, dass einen Text einliest, ihn verschlüsselt (mit RLE) und wieder ausgibt.</p>
<p>Mein Problem ist aber, dass ich möchte, das auch die Anzahl 1 ausgegeben wird. Leider komme ich nicht auf die Lösung - für Hilfe wäre ich dankbar.</p>
<p>Einen schönen Abend noch und schon mal vielen Dank.</p>
<p>Mein Code:</p>
<p>#include &lt;string&gt;<br />
#include &lt;iostream&gt;<br />
#include &lt;sstream&gt;</p>
<p>std::string Decode(const std::string&amp; input);<br />
std::string Encode(const std::string&amp; input);</p>
<p>int main()<br />
{<br />
std::string input = &quot;xxxvvvkaka&quot;;</p>
<p>std::cout &lt;&lt; input &lt;&lt; std::endl;</p>
<p>std::string res = Encode(input);</p>
<p>std::cout &lt;&lt; res &lt;&lt; std::endl;</p>
<p>std::cout &lt;&lt; Decode(res) &lt;&lt; std::endl;</p>
<p>return 0;<br />
}</p>
<p>std::string Decode(const std::string&amp; input)<br />
{<br />
std::string result;</p>
<p>for (size_t i = 0; i &lt; input.length(); ++i)<br />
{<br />
if (input[i] == '\1')<br />
{<br />
result += input[++i];<br />
}<br />
else if (isdigit(input[i]))<br />
{<br />
char c = (input[i + 1] == '\1' ? input[i + 2] : input[i + 1]);</p>
<p>for (size_t j = 1; j &lt; (size_t) input[i] - '0'; ++j)<br />
{<br />
result += c;<br />
}<br />
}<br />
else<br />
{<br />
result += input[i];<br />
}<br />
}</p>
<p>return result;<br />
}</p>
<p>std::string Encode(const std::string&amp; input)<br />
{<br />
std::string result;</p>
<p>int count = 1;</p>
<p>for (size_t i = 0; i &lt; input.length(); ++i)<br />
{<br />
if (input[i + 1] == input[i])<br />
{<br />
++count;<br />
}<br />
else<br />
{<br />
if (count &gt; 2 &amp;&amp; count &lt;= 9)<br />
{<br />
result += count + '0';<br />
}</p>
<p>if (isdigit(input[i]))<br />
{<br />
result += '\1';<br />
}</p>
<p>if (count == 2)<br />
{<br />
result += input[i];<br />
}</p>
<p>result += input[i];</p>
<p>count = 1;<br />
}<br />
}</p>
<p>return result;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2269455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2269455</guid><dc:creator><![CDATA[freewibes]]></dc:creator><pubDate>Fri, 09 Nov 2012 22:02:32 GMT</pubDate></item><item><title><![CDATA[Reply to Verschlüsselung durch Lauflängenkodierung - zeigt nur Werte &amp;lt;1 an on Fri, 09 Nov 2012 22:24:06 GMT]]></title><description><![CDATA[<p>1. RLE ist eine Codierung, keine Verschlüsselung.</p>
<p>2. Codetags.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2269458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2269458</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Fri, 09 Nov 2012 22:24:06 GMT</pubDate></item><item><title><![CDATA[Reply to Verschlüsselung durch Lauflängenkodierung - zeigt nur Werte &amp;lt;1 an on Sun, 11 Nov 2012 11:20:15 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Auch wenn ich es falsch formuliert habe, bleibt mein Problem, dass auch bei Werten, die nur einmal vorkommen - ein &quot;Zähler&quot; erscheinen sollte.</p>
<p>Bitte um Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2269768</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2269768</guid><dc:creator><![CDATA[freewibes]]></dc:creator><pubDate>Sun, 11 Nov 2012 11:20:15 GMT</pubDate></item><item><title><![CDATA[Reply to Verschlüsselung durch Lauflängenkodierung - zeigt nur Werte &amp;lt;1 an on Sun, 11 Nov 2012 11:36:27 GMT]]></title><description><![CDATA[<p>Ohne Codetags liest sich das niemand durch.</p>
<pre><code>#include &lt;iostream&gt;

int main()
{
  std::cout &lt;&lt; &quot;So sollte das aussehen.\n&quot;;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2269771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2269771</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sun, 11 Nov 2012 11:36:27 GMT</pubDate></item><item><title><![CDATA[Reply to Verschlüsselung durch Lauflängenkodierung - zeigt nur Werte &amp;lt;1 an on Sun, 11 Nov 2012 16:52:02 GMT]]></title><description><![CDATA[<p>Ein Wort noch zu den Tags - ich gebe sie zwar ein, aber schon in der Vorschau wird alles automatisch eingerückt. Übrigens auch, wenn ich Tabs u. ä. oder die vorgegebenen Zeichen bei der Eingabe verwende...</p>
<p>Ich würde das wirklich gerne abstellen...</p>
<p>Schönes Restwochenende.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2269867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2269867</guid><dc:creator><![CDATA[freewibes]]></dc:creator><pubDate>Sun, 11 Nov 2012 16:52:02 GMT</pubDate></item><item><title><![CDATA[Reply to Verschlüsselung durch Lauflängenkodierung - zeigt nur Werte &amp;lt;1 an on Sun, 11 Nov 2012 17:24:02 GMT]]></title><description><![CDATA[<p>wie? es wird eingerückt?</p>
<p>wenn du deinen code in deinem editor schön formatiert hast und den per copy/paste zwischen die code tags reinschiebst, dann wird der code nicht umformatiert.<br />
wenn dein code aber schon imeditor schrecklich aussieht, machen die [cpp] tags nicht anderes mehr</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2269882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2269882</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sun, 11 Nov 2012 17:24:02 GMT</pubDate></item></channel></rss>