<?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[arraygewirr und verschub]]></title><description><![CDATA[<p>ich schreib nun gerade an einem Programm, dass ganze dateien verschlüsseln soll (nach caesar algorithmus, monoalphabetisches verschlüsselungs programm)</p>
<p>In der alter Version, die nur für ein paar Wörter gedacht war, war die Verschlüsselungsprozedur sehr lang aber auch einfach (zu vertehen) und übersichtlich.(rund 120 zeilen)</p>
<p>Nun will ich es auf 5 (!!!) Zeilen reduzieren.<br />
Zuvor erstelle ich einen Schlüssel mit meinem keycreator.<br />
zum beispiel steht dann im schlüssel folgende zahlen:</p>
<pre><code>9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1
2
3
4
5
6
7
8
</code></pre>
<p>eine ganz simple Zahlenfolge. (geht auch besser, mit zufälliger reihenfolge, so ist es aber übersichtlicher)</p>
<p>so jetzt zum eigentlichen Problem.<br />
ich lasse den schlüssel so einlesen:</p>
<pre><code class="language-cpp">key.open(keypath.c_str()); //schlüssel einlesen
            if(file)
            {
                        arrayhelper[1]=0;
                        int zeilen = 0;
                        zeilen = 0;
                        while(!file.eof())
                        {
                                    arrayhelper[1]= arrayhelper[1] + 1;
                                    getline(file, txt);
                                    text = txt + &quot;\n&quot;;
                                    letter[arrayhelper[1&rsqb;&rsqb; = txt;
                                    convert &lt;&lt; letter[arrayhelper[1&rsqb;&rsqb;;
                                    convert &gt;&gt; theKEY[arrayhelper[1&rsqb;&rsqb;;
                                    convert.clear(); 
                                    zeilen++;

                                    if(zeilen == 26) // gesuchte Zeile erreicht
                                    {

                                                break; // Zeile gefunden, Einlesen abbrechen
                                    }

                        }

                        file.close();
                        }
</code></pre>
<p>und dann will ich hiermit das &quot;neue Alphabet&quot; erstellen ungf so:</p>
<pre><code class="language-cpp">string alph;
fixalph = &quot;abcdefghijklmonpqrstuvwxyz&quot;;
    for (;arrayhelper[2]&lt;26;) //extrem verkürzte Verschlüsselung
    {
    arrayhelper[2]=arrayhelper[2] + 1;
    alphabet[arrayhelper[2&rsqb;&rsqb;=fixalph.substr(theKEY[arrayhelper[2&rsqb;&rsqb;,1); 
    alph += alphabet&lsqb;&lsqb;arrayhelper[2&rsqb;&rsqb;];
    cout&lt;&lt;alph&lt;&lt;&quot;\n&quot;;
    cin.get();
}
</code></pre>
<p>sieht kompliziert aus ist es aber gar nciht. er gibt etwa folgendes aus:<br />
a<br />
aa<br />
aaa<br />
aaaa</p>
<p>es müsste aber:<br />
i<br />
ij<br />
ijk</p>
<p>sein woran liegt es ? <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/240025/arraygewirr-und-verschub</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 05:30:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/240025.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 30 Apr 2009 17:47:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to arraygewirr und verschub on Thu, 30 Apr 2009 17:47:10 GMT]]></title><description><![CDATA[<p>ich schreib nun gerade an einem Programm, dass ganze dateien verschlüsseln soll (nach caesar algorithmus, monoalphabetisches verschlüsselungs programm)</p>
<p>In der alter Version, die nur für ein paar Wörter gedacht war, war die Verschlüsselungsprozedur sehr lang aber auch einfach (zu vertehen) und übersichtlich.(rund 120 zeilen)</p>
<p>Nun will ich es auf 5 (!!!) Zeilen reduzieren.<br />
Zuvor erstelle ich einen Schlüssel mit meinem keycreator.<br />
zum beispiel steht dann im schlüssel folgende zahlen:</p>
<pre><code>9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1
2
3
4
5
6
7
8
</code></pre>
<p>eine ganz simple Zahlenfolge. (geht auch besser, mit zufälliger reihenfolge, so ist es aber übersichtlicher)</p>
<p>so jetzt zum eigentlichen Problem.<br />
ich lasse den schlüssel so einlesen:</p>
<pre><code class="language-cpp">key.open(keypath.c_str()); //schlüssel einlesen
            if(file)
            {
                        arrayhelper[1]=0;
                        int zeilen = 0;
                        zeilen = 0;
                        while(!file.eof())
                        {
                                    arrayhelper[1]= arrayhelper[1] + 1;
                                    getline(file, txt);
                                    text = txt + &quot;\n&quot;;
                                    letter[arrayhelper[1&rsqb;&rsqb; = txt;
                                    convert &lt;&lt; letter[arrayhelper[1&rsqb;&rsqb;;
                                    convert &gt;&gt; theKEY[arrayhelper[1&rsqb;&rsqb;;
                                    convert.clear(); 
                                    zeilen++;

                                    if(zeilen == 26) // gesuchte Zeile erreicht
                                    {

                                                break; // Zeile gefunden, Einlesen abbrechen
                                    }

                        }

                        file.close();
                        }
</code></pre>
<p>und dann will ich hiermit das &quot;neue Alphabet&quot; erstellen ungf so:</p>
<pre><code class="language-cpp">string alph;
fixalph = &quot;abcdefghijklmonpqrstuvwxyz&quot;;
    for (;arrayhelper[2]&lt;26;) //extrem verkürzte Verschlüsselung
    {
    arrayhelper[2]=arrayhelper[2] + 1;
    alphabet[arrayhelper[2&rsqb;&rsqb;=fixalph.substr(theKEY[arrayhelper[2&rsqb;&rsqb;,1); 
    alph += alphabet&lsqb;&lsqb;arrayhelper[2&rsqb;&rsqb;];
    cout&lt;&lt;alph&lt;&lt;&quot;\n&quot;;
    cin.get();
}
</code></pre>
<p>sieht kompliziert aus ist es aber gar nciht. er gibt etwa folgendes aus:<br />
a<br />
aa<br />
aaa<br />
aaaa</p>
<p>es müsste aber:<br />
i<br />
ij<br />
ijk</p>
<p>sein woran liegt es ? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1703785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703785</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Thu, 30 Apr 2009 17:47:10 GMT</pubDate></item><item><title><![CDATA[Reply to arraygewirr und verschub on Thu, 30 Apr 2009 18:29:03 GMT]]></title><description><![CDATA[<p>Ich habe herausgefunden ,dass theKEY[]<br />
immer 0 ergibt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
{<br />
<div class="plugin-markdown"><input type="checkbox" id="checkbox297724" checked="true" /><label for="checkbox297724">== 0</label></div><br />
}<br />
dann ist das erstellen des alphabets kein problem.<br />
zuerst dacht ich es läge an der convertierung mit dem stream. aber dann fiel mir auf, dass letter[arrayhelper[2&rsqb;&rsqb; leer ist.<br />
warum das denn nun wieder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703831</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703831</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:29:03 GMT</pubDate></item><item><title><![CDATA[Reply to arraygewirr und verschub on Thu, 30 Apr 2009 18:32:58 GMT]]></title><description><![CDATA[<p>Um das zu wissen, bräuchte man mehr Code. Du kannst aber auch mal mit dem Debugger Zeile für Zeile durchgehen, da solltest du das Problem entdecken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703834</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:32:58 GMT</pubDate></item><item><title><![CDATA[Reply to arraygewirr und verschub on Thu, 30 Apr 2009 18:40:36 GMT]]></title><description><![CDATA[<p>aber wenn ich mich nicht irre dann lese ich doch ganz logisch aus?<br />
ausschnitt:</p>
<pre><code class="language-cpp">while(!file.eof())
                        {
                                    arrayhelper[1]= arrayhelper[1] + 1;
                                    getline(file, txt);
                                    text = txt + &quot;\n&quot;;
                                    letter[arrayhelper[1&rsqb;&rsqb; = txt; //genau hier !
                                    convert &lt;&lt; letter[arrayhelper[1&rsqb;&rsqb;;
                                    convert &gt;&gt; theKEY[arrayhelper[1&rsqb;&rsqb;;
                                    convert.clear(); 
                                    zeilen++;
}
</code></pre>
<p>ich seh mal ob er weiß was txt ist ? und text</p>
<p>oh mist txt und text sind auch leer, die datei ist es ganz sicher nicht, wie kann das sein.<br />
--------------------------------------------------------------<br />
ARGH BLIZE IM SEKUNDEN TAKT</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703838</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:40:36 GMT</pubDate></item><item><title><![CDATA[Reply to arraygewirr und verschub on Thu, 30 Apr 2009 18:55:05 GMT]]></title><description><![CDATA[<p>Eventuell Datei-Verwirrung?</p>
<pre><code class="language-cpp">key.open(keypath.c_str()); // &lt;-- Datei key?
if(file)                   // &lt;-- Datei file?
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1703848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703848</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 30 Apr 2009 18:55:05 GMT</pubDate></item><item><title><![CDATA[Reply to arraygewirr und verschub on Thu, 30 Apr 2009 23:27:37 GMT]]></title><description><![CDATA[<p>jupp das wars, da bin ich dann später aber auch selbst drauf gekommen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1703933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1703933</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Thu, 30 Apr 2009 23:27:37 GMT</pubDate></item></channel></rss>