<?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[logisches denken erforderlich]]></title><description><![CDATA[<p>So zuerst die veorgeschichte:</p>
<blockquote>
<p>Ich habe eine seite (oder eine textdokument darin sind zahlen etwa so:)</p>
<blockquote>
<p>13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
22<br />
23<br />
24<br />
25<br />
26<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12</p>
</blockquote>
<p>die erste Zeile [stelle 1] soll ein a sein, das heißt ich tue eine 13 in die variable a.<br />
stelle 2 soll in die variable b und so weiter...<br />
nun wähle ich ein wort zum beispiel hallo, dies wurde mit dieser liste verschlüsselt. und zwar so:<br />
<em>H</em> --&gt; <strong>8</strong>. Buchstabe im alphabet also in der liste h=20<br />
<em>a</em> --&gt; <strong>1</strong>. Buchstabe im alphabet --&gt; a = 13<br />
und jetzt guck ich was 13 für ein buchstabe im alphabet ist also <strong>m</strong>.<br />
schlussendlich heißt das wort dann tmxxa.<br />
Jetzt will ich das aber wieder entschlüsseln, so das wollte ich so machen:<br />
die Stelle von t im alphabet ist 20 in der liste an achter stelle also h das heißt der erste buchstabe muss h sein.</p>
</blockquote>
<p>das ist aus dem mathematischen bereich ^^.<br />
um den letzten Schritt zu machen (die Stelle von t im alphabet ist 20 in der liste an achter stelle also h das heißt der erste buchstabe muss h sein.)<br />
hab ich den code (lese das textdokument vorher ein, ach ich zeig es einfach)</p>
<pre><code class="language-cpp">for (;alphabet&lt;=26;)
{  
    easy = 1;
    zeile = zeile + 1;
    alphabet = alphabet + 1;
    lines = lines + 1;
    arrayhelper[1] = 0;    

                        string text; // Haupttext
    file.open(fileName.c_str());
            if(file)
            {
                        int zeilen = 0;
                        while(!file.eof())
                        {
                                    arrayhelper[1] = arrayhelper[1] + 1;
                                    string txt; // Buffer
                                    getline(file, txt);
                                    text = txt + &quot;\n&quot;;
                                    buchstabe[arrayhelper[1&rsqb;&rsqb;=txt;
                                    zeilen++;
                                    cout&lt;&lt;text;

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

                                                break; // Zeile gefunden, Einlesen abbrechen
                                    }
                                    inhalt[lines] = text;
                        }

                        file.close();

            }

          strm &lt;&lt; text;
          strm &gt;&gt; letter;
          strm.clear();

          LET[alphabet]=letter;
          cout&lt;&lt;inhalt[1];

}
size3 = wholetext[0].size();
easy = 0;
int blub = 1;
word = wholetext[0];
cout&lt;&lt;&quot;der decodierte Text ist:&quot;&lt;&lt;&quot;\n&quot;;
for (;size3&gt;0;)
{

    partoser = partoser + 1;
    size3 = size3 - 1; 
    if(wholetext[0].substr((partoser-1),1)==&quot;a&quot;||wholetext[0].substr((partoser-1),1)==&quot;A&quot;)
    {compint = 1;}
    if(wholetext[0].substr((partoser-1),1)==&quot;b&quot;||wholetext[0].substr((partoser-1),1)==&quot;B&quot;)
    {compint = 2;}
    if(wholetext[0].substr((partoser-1),1)==&quot;c&quot;||wholetext[0].substr((partoser-1),1)==&quot;C&quot;)
    {compint = 3;}
    if(wholetext[0].substr((partoser-1),1)==&quot;d&quot;||wholetext[0].substr((partoser-1),1)==&quot;D&quot;)
    {compint = 4;}
    if(wholetext[0].substr((partoser-1),1)==&quot;e&quot;||wholetext[0].substr((partoser-1),1)==&quot;E&quot;)
    {compint = 5;}
    if(wholetext[0].substr((partoser-1),1)==&quot;f&quot;||wholetext[0].substr((partoser-1),1)==&quot;F&quot;)
    {compint = 6;}
    if(wholetext[0].substr((partoser-1),1)==&quot;g&quot;||wholetext[0].substr((partoser-1),1)==&quot;G&quot;)
    {compint = 7;}
    if(wholetext[0].substr((partoser-1),1)==&quot;h&quot;||wholetext[0].substr((partoser-1),1)==&quot;H&quot;)
    {compint = 8;}
    if(wholetext[0].substr((partoser-1),1)==&quot;i&quot;||wholetext[0].substr((partoser-1),1)==&quot;I&quot;)
    {compint = 9;}
    if(wholetext[0].substr((partoser-1),1)==&quot;j&quot;||wholetext[0].substr((partoser-1),1)==&quot;J&quot;)
    {compint = 10;}
    if(wholetext[0].substr((partoser-1),1)==&quot;k&quot;||wholetext[0].substr((partoser-1),1)==&quot;K&quot;)
    {compint = 11;}
    if(wholetext[0].substr((partoser-1),1)==&quot;l&quot;||wholetext[0].substr((partoser-1),1)==&quot;L&quot;)
    {compint = 12;}
    if(wholetext[0].substr((partoser-1),1)==&quot;m&quot;||wholetext[0].substr((partoser-1),1)==&quot;M&quot;)
    {compint = 13;}
    if(wholetext[0].substr((partoser-1),1)==&quot;n&quot;||wholetext[0].substr((partoser-1),1)==&quot;N&quot;)
    {compint = 14;}
    if(wholetext[0].substr((partoser-1),1)==&quot;o&quot;||wholetext[0].substr((partoser-1),1)==&quot;O&quot;)
    {compint = 15;}
    if(wholetext[0].substr((partoser-1),1)==&quot;p&quot;||wholetext[0].substr((partoser-1),1)==&quot;P&quot;)
    {compint = 16;}
    if(wholetext[0].substr((partoser-1),1)==&quot;q&quot;||wholetext[0].substr((partoser-1),1)==&quot;Q&quot;)
    {compint = 17;}
    if(wholetext[0].substr((partoser-1),1)==&quot;r&quot;||wholetext[0].substr((partoser-1),1)==&quot;R&quot;)
    {compint = 18;}
    if(wholetext[0].substr((partoser-1),1)==&quot;s&quot;||wholetext[0].substr((partoser-1),1)==&quot;S&quot;)
    {compint = 19;}
    if(wholetext[0].substr((partoser-1),1)==&quot;t&quot;||wholetext[0].substr((partoser-1),1)==&quot;T&quot;)
    {compint = 20;}
    if(wholetext[0].substr((partoser-1),1)==&quot;u&quot;||wholetext[0].substr((partoser-1),1)==&quot;U&quot;)
    {compint = 21;}
    if(wholetext[0].substr((partoser-1),1)==&quot;v&quot;||wholetext[0].substr((partoser-1),1)==&quot;V&quot;)
    {compint = 22;}
    if(wholetext[0].substr((partoser-1),1)==&quot;w&quot;||wholetext[0].substr((partoser-1),1)==&quot;W&quot;)
    {compint = 23;}
    if(wholetext[0].substr((partoser-1),1)==&quot;x&quot;||wholetext[0].substr((partoser-1),1)==&quot;X&quot;)
    {compint = 24;}
    if(wholetext[0].substr((partoser-1),1)==&quot;y&quot;||wholetext[0].substr((partoser-1),1)==&quot;Y&quot;)
    {compint = 25;}
    if(wholetext[0].substr((partoser-1),1)==&quot;z&quot;||wholetext[0].substr((partoser-1),1)==&quot;Z&quot;)
    {compint = 26;}
letterstring = buchstabe[compint];
    // cancelled: cout&lt;&lt;letterstring;
    //letterstring = schiffrierzahl[stellungszahl]
    if (letterstring ==&quot;1&quot;)
    {cout&lt;&lt;&quot;a&quot;;}
    if (letterstring ==&quot;2&quot;)
    {cout&lt;&lt;&quot;b&quot;;}
    if (letterstring ==&quot;3&quot;)
    {cout&lt;&lt;&quot;c&quot;;}
    if (letterstring ==&quot;4&quot;)
    {cout&lt;&lt;&quot;d&quot;;}
    if (letterstring ==&quot;5&quot;)
    {cout&lt;&lt;&quot;e&quot;;}
    if (letterstring ==&quot;6&quot;)
    {cout&lt;&lt;&quot;f&quot;;}
    if (letterstring ==&quot;7&quot;)
    {cout&lt;&lt;&quot;g&quot;;}
    if (letterstring ==&quot;8&quot;)
    {cout&lt;&lt;&quot;h&quot;;}
    if (letterstring ==&quot;9&quot;)
    {cout&lt;&lt;&quot;i&quot;;}
    if (letterstring ==&quot;10&quot;)
    {cout&lt;&lt;&quot;j&quot;;}
    if (letterstring ==&quot;11&quot;)
    {cout&lt;&lt;&quot;k&quot;;}
    if (letterstring ==&quot;12&quot;)
    {cout&lt;&lt;&quot;l&quot;;}
    if (letterstring ==&quot;13&quot;)
    {cout&lt;&lt;&quot;m&quot;;}
    if (letterstring ==&quot;14&quot;)
    {cout&lt;&lt;&quot;n&quot;;}
    if (letterstring ==&quot;15&quot;)
    {cout&lt;&lt;&quot;o&quot;;}
    if (letterstring ==&quot;16&quot;)
    {cout&lt;&lt;&quot;p&quot;;}
    if (letterstring ==&quot;17&quot;)
    {cout&lt;&lt;&quot;q&quot;;}
    if (letterstring ==&quot;18&quot;)
    {cout&lt;&lt;&quot;r&quot;;}
    if (letterstring ==&quot;19&quot;)
    {cout&lt;&lt;&quot;s&quot;;}
    if (letterstring ==&quot;20&quot;)
    {cout&lt;&lt;&quot;t&quot;;}
    if (letterstring ==&quot;21&quot;)
    {cout&lt;&lt;&quot;u&quot;;}
    if (letterstring ==&quot;22&quot;)
    {cout&lt;&lt;&quot;v&quot;;}
    if (letterstring ==&quot;23&quot;)
    {cout&lt;&lt;&quot;w&quot;;}
    if (letterstring ==&quot;24&quot;)
    {cout&lt;&lt;&quot;x&quot;;}
    if (letterstring ==&quot;25&quot;)
    {cout&lt;&lt;&quot;y&quot;;}
    if (letterstring ==&quot;26&quot;)
    {cout&lt;&lt;&quot;z&quot;;}
</code></pre>
<p>das geht aber nicht. zumindest nicht so wie ich will er soll dann hallo ausgeben aber er verschlüsselt immer noch munter weiter. also als wenn ich tmxxa nochmal verschlüssele. HILFE ich bin überfordert</p>
<p>EDIT: ich werde mir wohl erst morgen ansehen was ich an antworten gekriegt hab *schnirch*</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/238990/logisches-denken-erforderlich</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 17:22:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/238990.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Apr 2009 21:18:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to logisches denken erforderlich on Fri, 17 Apr 2009 21:43:32 GMT]]></title><description><![CDATA[<p>So zuerst die veorgeschichte:</p>
<blockquote>
<p>Ich habe eine seite (oder eine textdokument darin sind zahlen etwa so:)</p>
<blockquote>
<p>13<br />
14<br />
15<br />
16<br />
17<br />
18<br />
19<br />
20<br />
21<br />
22<br />
23<br />
24<br />
25<br />
26<br />
1<br />
2<br />
3<br />
4<br />
5<br />
6<br />
7<br />
8<br />
9<br />
10<br />
11<br />
12</p>
</blockquote>
<p>die erste Zeile [stelle 1] soll ein a sein, das heißt ich tue eine 13 in die variable a.<br />
stelle 2 soll in die variable b und so weiter...<br />
nun wähle ich ein wort zum beispiel hallo, dies wurde mit dieser liste verschlüsselt. und zwar so:<br />
<em>H</em> --&gt; <strong>8</strong>. Buchstabe im alphabet also in der liste h=20<br />
<em>a</em> --&gt; <strong>1</strong>. Buchstabe im alphabet --&gt; a = 13<br />
und jetzt guck ich was 13 für ein buchstabe im alphabet ist also <strong>m</strong>.<br />
schlussendlich heißt das wort dann tmxxa.<br />
Jetzt will ich das aber wieder entschlüsseln, so das wollte ich so machen:<br />
die Stelle von t im alphabet ist 20 in der liste an achter stelle also h das heißt der erste buchstabe muss h sein.</p>
</blockquote>
<p>das ist aus dem mathematischen bereich ^^.<br />
um den letzten Schritt zu machen (die Stelle von t im alphabet ist 20 in der liste an achter stelle also h das heißt der erste buchstabe muss h sein.)<br />
hab ich den code (lese das textdokument vorher ein, ach ich zeig es einfach)</p>
<pre><code class="language-cpp">for (;alphabet&lt;=26;)
{  
    easy = 1;
    zeile = zeile + 1;
    alphabet = alphabet + 1;
    lines = lines + 1;
    arrayhelper[1] = 0;    

                        string text; // Haupttext
    file.open(fileName.c_str());
            if(file)
            {
                        int zeilen = 0;
                        while(!file.eof())
                        {
                                    arrayhelper[1] = arrayhelper[1] + 1;
                                    string txt; // Buffer
                                    getline(file, txt);
                                    text = txt + &quot;\n&quot;;
                                    buchstabe[arrayhelper[1&rsqb;&rsqb;=txt;
                                    zeilen++;
                                    cout&lt;&lt;text;

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

                                                break; // Zeile gefunden, Einlesen abbrechen
                                    }
                                    inhalt[lines] = text;
                        }

                        file.close();

            }

          strm &lt;&lt; text;
          strm &gt;&gt; letter;
          strm.clear();

          LET[alphabet]=letter;
          cout&lt;&lt;inhalt[1];

}
size3 = wholetext[0].size();
easy = 0;
int blub = 1;
word = wholetext[0];
cout&lt;&lt;&quot;der decodierte Text ist:&quot;&lt;&lt;&quot;\n&quot;;
for (;size3&gt;0;)
{

    partoser = partoser + 1;
    size3 = size3 - 1; 
    if(wholetext[0].substr((partoser-1),1)==&quot;a&quot;||wholetext[0].substr((partoser-1),1)==&quot;A&quot;)
    {compint = 1;}
    if(wholetext[0].substr((partoser-1),1)==&quot;b&quot;||wholetext[0].substr((partoser-1),1)==&quot;B&quot;)
    {compint = 2;}
    if(wholetext[0].substr((partoser-1),1)==&quot;c&quot;||wholetext[0].substr((partoser-1),1)==&quot;C&quot;)
    {compint = 3;}
    if(wholetext[0].substr((partoser-1),1)==&quot;d&quot;||wholetext[0].substr((partoser-1),1)==&quot;D&quot;)
    {compint = 4;}
    if(wholetext[0].substr((partoser-1),1)==&quot;e&quot;||wholetext[0].substr((partoser-1),1)==&quot;E&quot;)
    {compint = 5;}
    if(wholetext[0].substr((partoser-1),1)==&quot;f&quot;||wholetext[0].substr((partoser-1),1)==&quot;F&quot;)
    {compint = 6;}
    if(wholetext[0].substr((partoser-1),1)==&quot;g&quot;||wholetext[0].substr((partoser-1),1)==&quot;G&quot;)
    {compint = 7;}
    if(wholetext[0].substr((partoser-1),1)==&quot;h&quot;||wholetext[0].substr((partoser-1),1)==&quot;H&quot;)
    {compint = 8;}
    if(wholetext[0].substr((partoser-1),1)==&quot;i&quot;||wholetext[0].substr((partoser-1),1)==&quot;I&quot;)
    {compint = 9;}
    if(wholetext[0].substr((partoser-1),1)==&quot;j&quot;||wholetext[0].substr((partoser-1),1)==&quot;J&quot;)
    {compint = 10;}
    if(wholetext[0].substr((partoser-1),1)==&quot;k&quot;||wholetext[0].substr((partoser-1),1)==&quot;K&quot;)
    {compint = 11;}
    if(wholetext[0].substr((partoser-1),1)==&quot;l&quot;||wholetext[0].substr((partoser-1),1)==&quot;L&quot;)
    {compint = 12;}
    if(wholetext[0].substr((partoser-1),1)==&quot;m&quot;||wholetext[0].substr((partoser-1),1)==&quot;M&quot;)
    {compint = 13;}
    if(wholetext[0].substr((partoser-1),1)==&quot;n&quot;||wholetext[0].substr((partoser-1),1)==&quot;N&quot;)
    {compint = 14;}
    if(wholetext[0].substr((partoser-1),1)==&quot;o&quot;||wholetext[0].substr((partoser-1),1)==&quot;O&quot;)
    {compint = 15;}
    if(wholetext[0].substr((partoser-1),1)==&quot;p&quot;||wholetext[0].substr((partoser-1),1)==&quot;P&quot;)
    {compint = 16;}
    if(wholetext[0].substr((partoser-1),1)==&quot;q&quot;||wholetext[0].substr((partoser-1),1)==&quot;Q&quot;)
    {compint = 17;}
    if(wholetext[0].substr((partoser-1),1)==&quot;r&quot;||wholetext[0].substr((partoser-1),1)==&quot;R&quot;)
    {compint = 18;}
    if(wholetext[0].substr((partoser-1),1)==&quot;s&quot;||wholetext[0].substr((partoser-1),1)==&quot;S&quot;)
    {compint = 19;}
    if(wholetext[0].substr((partoser-1),1)==&quot;t&quot;||wholetext[0].substr((partoser-1),1)==&quot;T&quot;)
    {compint = 20;}
    if(wholetext[0].substr((partoser-1),1)==&quot;u&quot;||wholetext[0].substr((partoser-1),1)==&quot;U&quot;)
    {compint = 21;}
    if(wholetext[0].substr((partoser-1),1)==&quot;v&quot;||wholetext[0].substr((partoser-1),1)==&quot;V&quot;)
    {compint = 22;}
    if(wholetext[0].substr((partoser-1),1)==&quot;w&quot;||wholetext[0].substr((partoser-1),1)==&quot;W&quot;)
    {compint = 23;}
    if(wholetext[0].substr((partoser-1),1)==&quot;x&quot;||wholetext[0].substr((partoser-1),1)==&quot;X&quot;)
    {compint = 24;}
    if(wholetext[0].substr((partoser-1),1)==&quot;y&quot;||wholetext[0].substr((partoser-1),1)==&quot;Y&quot;)
    {compint = 25;}
    if(wholetext[0].substr((partoser-1),1)==&quot;z&quot;||wholetext[0].substr((partoser-1),1)==&quot;Z&quot;)
    {compint = 26;}
letterstring = buchstabe[compint];
    // cancelled: cout&lt;&lt;letterstring;
    //letterstring = schiffrierzahl[stellungszahl]
    if (letterstring ==&quot;1&quot;)
    {cout&lt;&lt;&quot;a&quot;;}
    if (letterstring ==&quot;2&quot;)
    {cout&lt;&lt;&quot;b&quot;;}
    if (letterstring ==&quot;3&quot;)
    {cout&lt;&lt;&quot;c&quot;;}
    if (letterstring ==&quot;4&quot;)
    {cout&lt;&lt;&quot;d&quot;;}
    if (letterstring ==&quot;5&quot;)
    {cout&lt;&lt;&quot;e&quot;;}
    if (letterstring ==&quot;6&quot;)
    {cout&lt;&lt;&quot;f&quot;;}
    if (letterstring ==&quot;7&quot;)
    {cout&lt;&lt;&quot;g&quot;;}
    if (letterstring ==&quot;8&quot;)
    {cout&lt;&lt;&quot;h&quot;;}
    if (letterstring ==&quot;9&quot;)
    {cout&lt;&lt;&quot;i&quot;;}
    if (letterstring ==&quot;10&quot;)
    {cout&lt;&lt;&quot;j&quot;;}
    if (letterstring ==&quot;11&quot;)
    {cout&lt;&lt;&quot;k&quot;;}
    if (letterstring ==&quot;12&quot;)
    {cout&lt;&lt;&quot;l&quot;;}
    if (letterstring ==&quot;13&quot;)
    {cout&lt;&lt;&quot;m&quot;;}
    if (letterstring ==&quot;14&quot;)
    {cout&lt;&lt;&quot;n&quot;;}
    if (letterstring ==&quot;15&quot;)
    {cout&lt;&lt;&quot;o&quot;;}
    if (letterstring ==&quot;16&quot;)
    {cout&lt;&lt;&quot;p&quot;;}
    if (letterstring ==&quot;17&quot;)
    {cout&lt;&lt;&quot;q&quot;;}
    if (letterstring ==&quot;18&quot;)
    {cout&lt;&lt;&quot;r&quot;;}
    if (letterstring ==&quot;19&quot;)
    {cout&lt;&lt;&quot;s&quot;;}
    if (letterstring ==&quot;20&quot;)
    {cout&lt;&lt;&quot;t&quot;;}
    if (letterstring ==&quot;21&quot;)
    {cout&lt;&lt;&quot;u&quot;;}
    if (letterstring ==&quot;22&quot;)
    {cout&lt;&lt;&quot;v&quot;;}
    if (letterstring ==&quot;23&quot;)
    {cout&lt;&lt;&quot;w&quot;;}
    if (letterstring ==&quot;24&quot;)
    {cout&lt;&lt;&quot;x&quot;;}
    if (letterstring ==&quot;25&quot;)
    {cout&lt;&lt;&quot;y&quot;;}
    if (letterstring ==&quot;26&quot;)
    {cout&lt;&lt;&quot;z&quot;;}
</code></pre>
<p>das geht aber nicht. zumindest nicht so wie ich will er soll dann hallo ausgeben aber er verschlüsselt immer noch munter weiter. also als wenn ich tmxxa nochmal verschlüssele. HILFE ich bin überfordert</p>
<p>EDIT: ich werde mir wohl erst morgen ansehen was ich an antworten gekriegt hab *schnirch*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697559</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697559</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Fri, 17 Apr 2009 21:43:32 GMT</pubDate></item><item><title><![CDATA[Reply to logisches denken erforderlich on Fri, 17 Apr 2009 22:00:52 GMT]]></title><description><![CDATA[<p>Autsch, das sieht ja umständlich aus. <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>
<p>Soweit ich das verstanden habe, soll das ein Caesar-Algorithmus werden?! Wäre nett, wenn du die Fehlermeldung angeben könntest, bzw. was genau passiert/nicht passiert.</p>
<p>Aber erstmal noch ein paar Tipps zur Vereinfachung:</p>
<p>- <a href="http://www.fredosaurus.com/notes-cpp/strings/header-cctype.html" rel="nofollow">char-bibliothek</a> &quot;&lt;cctype&gt;&quot; mit der Funktion toUpper() erleichtert das Umwandeln in Großbuchstaben</p>
<p>- die einzelnen Buchstaben werden innerhalb von C durch eine Zahl mit ihrem <a href="http://users.physik.fu-berlin.de/~goerz/blog/wp-content/uploads/2008/09/ascii.gif" rel="nofollow">ASCII</a>-Äquivalent dargestellt: &quot;MeinZeichen - 'A'&quot; liefert also sozusagen die Stelle des Buchstabens im Alphabet (nullbasiert, bei Großbuchstaben)</p>
<p>damit sparst du dir eine menge abfragen und damit auch jede menge fehlerquellen..<br />
- andersrum liefert &quot;MeineVerschiebung + 'A'&quot; den entsprechenden Buchstaben, wenn du das ganze in einem char abspeicherst</p>
<p>- damit du nicht über den &quot;Rand&quot; der Buchstaben hinaus kommst, solltest du dir mal die rechenoperation <a href="http://de.wikipedia.org/wiki/Modulo" rel="nofollow">modulo</a> ansehen (in c++ durch das Prozentzeichen (%) dargestellt)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697570</guid><dc:creator><![CDATA[cerotidinon]]></dc:creator><pubDate>Fri, 17 Apr 2009 22:00:52 GMT</pubDate></item><item><title><![CDATA[Reply to logisches denken erforderlich on Fri, 17 Apr 2009 22:22:04 GMT]]></title><description><![CDATA[<p>cerotidinon schrieb:</p>
<blockquote>
<p>Wäre nett, wenn du die Fehlermeldung angeben könntest, bzw. was genau passiert/nicht passiert.</p>
</blockquote>
<p>ACK</p>
<p>cerotidinon schrieb:</p>
<blockquote>
<p>- <a href="http://www.fredosaurus.com/notes-cpp/strings/header-cctype.html" rel="nofollow">char-bibliothek</a> &quot;&lt;cctype&gt;&quot; mit der Funktion toUpper() erleichtert das Umwandeln in Großbuchstaben</p>
</blockquote>
<p>Ich würde nicht <code>&lt;cctype&gt;</code> nehmen, da du sonst eine Vermischung des C Locales mit dem C++ Locale hast. In C++ sollte man daher ganz auf <code>&lt;cctype&gt;</code> verzichten und das Äquivalent nehmen, nämlich <code>&lt;locale&gt;</code> :<br />
<a href="http://www.cplusplus.com/reference/std/locale/locale/" rel="nofollow">http://www.cplusplus.com/reference/std/locale/locale/</a></p>
<p>Dort hat es auch eine Funktion <code>toupper</code> :<br />
<a href="http://www.cplusplus.com/reference/std/locale/toupper/" rel="nofollow">http://www.cplusplus.com/reference/std/locale/toupper/</a></p>
<p>cerotidinon schrieb:</p>
<blockquote>
<p>- die einzelnen Buchstaben werden innerhalb von C durch eine Zahl mit ihrem <a href="http://users.physik.fu-berlin.de/~goerz/blog/wp-content/uploads/2008/09/ascii.gif" rel="nofollow">ASCII</a>-Äquivalent dargestellt: &quot;MeinZeichen - 'A'&quot; liefert also sozusagen die Stelle des Buchstabens im Alphabet (nullbasiert, bei Großbuchstaben)</p>
</blockquote>
<p>Ich muss sagen, ich weiss nicht wie es in C ist, aber da wir im C++ Forum sind, ist das auch nicht so wichtig. In C++ ist dies jedenfalls nicht garantiert und ich würde mich auch nicht unbedingt zu stark auf sowas verlassen. Jedenfalls würde ich es keinem Neuling empfehlen.</p>
<p>Eine <code>std::map</code> tut es hier genauso und ist sicherer:<br />
<a href="http://www.cplusplus.com/reference/stl/map/" rel="nofollow">http://www.cplusplus.com/reference/stl/map/</a></p>
<p>Als Alternative wäre im ersten Fall noch eine switch-Anweisung möglich. Dabei müsste man aber dies vereinfachen:</p>
<pre><code class="language-cpp">wholetext[0].substr((partoser-1),1)
</code></pre>
<p>Und zwar zu:</p>
<pre><code class="language-cpp">char c = wholetext[0].at(partoser - 1);

// Dann kann man nämlich machen:
switch(c)
{
case 'a' :
case 'A' :
  compint = 1;
  break;
case 'b' :
case 'B' :
  compint = 2;
  break;
  // ... usw ...
}
</code></pre>
<p>Braucht nicht weniger platz, ist aber sicherer und schneller.</p>
<p>Der zweite Teil könnte man auch über eine Switch-Anweisung machen, dann müsste man aber entweder zuvor den String in eine Zahl umwandeln oder zwei Switch-Anweisungen schachteln. Eine std::map dürfte wohl schnell genug sein und auch leserlicher sein.</p>
<p>cerotidinon schrieb:</p>
<blockquote>
<p>- andersrum liefert &quot;MeineVerschiebung + 'A'&quot; den entsprechenden Buchstaben, wenn du das ganze in einem char abspeicherst</p>
</blockquote>
<p>Wie gesagt, nicht garantiert.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697576</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Fri, 17 Apr 2009 22:22:04 GMT</pubDate></item><item><title><![CDATA[Reply to logisches denken erforderlich on Sat, 18 Apr 2009 07:21:23 GMT]]></title><description><![CDATA[<p>Ok, das mit &lt;cctype&gt; sehe ich ein...</p>
<p>davon, dass meine Methode in C++ nicht sicher ist, habe ich allerdings noch nie etwas gehört. Zur Sauberheit könnte man vlt. schreiben:</p>
<pre><code class="language-cpp">int stelle;
char meinZeichen;
stelle = static_cast&lt;int&gt;(meinZeichen) - 'A';
</code></pre>
<p>..oder wenn man es ganz exakt nimmt sogar minus 65 rechnen, aber empfehlenswerter finde ich an der stelle dennoch meine methode, da man <em>niemandem</em> empfehlen sollte, riesige switch's oder tausende if's einzubauen.</p>
<p>Oder hast du noch irgendeine quelle, die widerlegt, dass das sicher ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697615</guid><dc:creator><![CDATA[cerotidinon]]></dc:creator><pubDate>Sat, 18 Apr 2009 07:21:23 GMT</pubDate></item><item><title><![CDATA[Reply to logisches denken erforderlich on Sat, 18 Apr 2009 08:19:20 GMT]]></title><description><![CDATA[<p>cerotidinon schrieb:</p>
<blockquote>
<p>Oder hast du noch irgendeine quelle, die widerlegt, dass das sicher ist?</p>
</blockquote>
<p>Nein, aber genau das ist das Problem. Gibt mir eine Quelle, welche belegt, dass im C++ Standard der ASCII Zeichensatz benutzt wird. Am besten natürlich mit einem Auszug aus dem C++ Standard.<br />
Ich warn dich gleich einmal, du wirst nichts im C++ Standard zu ASCII finden, da dies nicht standardisiert und daher vom Kompiler abhängig ist. Also dass die Buchstaben 'a' bis 'z' und 'A' bis 'Z' in ihrem Wert hintereinander liegen, ist nicht mit Sicherheit gegeben. Da musst du zuerst im Kompilerhandbuch nachschauen gehen. Und wenn du den Code zu einem anderen Kompiler portierst, musst du daran denken, dies im neuen Kompiler wieder nachzuschauen. Anderer Kompiler kann auch einfach nur eine neue Version sein <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>Edit:<br />
Ha, ich trottel, hätte doch lieber nochmals den Standard durchblättern sollen. Es steht sogar explizit drin, dass es vom Kompiler abhängig ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
C++ Standard 98<br />
Kapitel 2.2 Character sets<br />
Abschnitt 1</p>
<blockquote>
<p>The basic source character set consists of 96 characters: the space character, the control characters representing horizontal tab, vertical tab, form feed, and new-line, plus the following 91 graphical characters: <sup>15)</sup></p>
</blockquote>
<p>...</p>
<blockquote>
<p><sup>15)</sup> The glyphs for the members of the basic source character set are intended to identify characters from the subset of ISO/IEC 10646 which corresponds to the ASCII character set. However, because the mapping from source file characters to the source character set (described in translation phase 1) is specified as implementation-defined, an implementation is required to document how the basic source characters are represented in source files.</p>
</blockquote>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697623</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sat, 18 Apr 2009 08:19:20 GMT</pubDate></item><item><title><![CDATA[Reply to logisches denken erforderlich on Sat, 18 Apr 2009 15:20:04 GMT]]></title><description><![CDATA[<p>Also mein Problem ist das ich nicht das gewünschte Resultat erreiche. Der Code funktioniert einwandfrei, aber jetzt fragt man sich wo ist mein Problem.. nun ja ich weiß nicht so genau. er sollte eigentlich bei der eingabe des textes ein &quot;hallo&quot; ausgeben (eben nach dem code unten), aber leider &quot;fyjjm&quot;, genau das würde passieren wenn ich tmxxa mit dem schlüssel verschlüssele, aber ich will entschlüsseln aus tmxxa wieder hallo machen aber das geht mit dem code unten nicht. (g<em>roß klein schreibung hatte ich eigentlich von vornherein außen vor gelassen, das heißt alles klein, da bräuchte ich eigenlich kein ...==&quot;A&quot;.</em>)<br />
kann mir jemand sagen wie ich das hinkriege, dazu reicht mein grips nicht mehr aus, ich verhaspele mich immer wieder und warum das unten nicht funktioniert (also eher verschlüsselt als entschlüsselt :() weiß ich aucht nicht bzw kann ich nicht sagen. <strong>aber wenn mir jemand ein beispiel code dafür geben könnte wär ich sehr zu dank verpflichtet</strong>. Oder <strong>wenn man mir sagt was da falsch ist</strong></p>
<p>EDIT: ich wusste gar nicht das man sowas Ceasar Algorithmus nennt <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="😃"
    /> .Außerdem arbeite ich noch an einem weiteren system das mir die zugeordneten buchstaben (in anführungszeichen)&quot;zufällig&quot; aussucht (je nach eingegebener randint. aber das nur so am rande.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697822</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Sat, 18 Apr 2009 15:20:04 GMT</pubDate></item><item><title><![CDATA[Reply to logisches denken erforderlich on Sat, 18 Apr 2009 16:12:18 GMT]]></title><description><![CDATA[<p>Ok, also ich wollte mich gerade ein wenig ablenken und habe deshalb die Lösung geschrieben (Zimmer putzen und aufräumen ist sowas von langweilig :)). Der Code ist nicht gerade perfekt, es fehlt zum Beispiel extrem viel an Fehlerbehandlung.</p>
<pre><code class="language-cpp">#include &lt;map&gt;
#include &lt;string&gt;
#include &lt;fstream&gt;
#include &lt;iostream&gt;

#include &lt;cassert&gt;

template&lt;typename IterT&gt;
std::string remap(
	IterT first,
	IterT last,
	std::map&lt;char, char&gt; const&amp; codepage)
{
	std::string result;
	std::map&lt;char, char&gt;::const_iterator codeIter;

	for(; first != last; ++first)
	{
		codeIter = codepage.find(*first);

		assert(codepage.end() != codeIter);

		result += codeIter-&gt;second;
	}

	return result;
}

int main()
{
	std::size_t const ALPHABET_SIZE = 26;
	char const* const ALPHABET = &quot;abcdefghijklmnopqrstuvwxyz&quot;;

	std::map&lt;char, char&gt; codepage;

	std::cout &lt;&lt; &quot;Enter path to codepage file:&quot; &lt;&lt; std::endl;

	std::string path;
	std::getline(std::cin, path);

	std::ifstream codepageFile(path.c_str());

	int pos;

	for(int i = 0; i &lt; ALPHABET_SIZE; ++i)
	{
		codepageFile &gt;&gt; pos;
		assert(codepageFile &amp;&amp; pos &gt; 0 &amp;&amp; pos &lt;= ALPHABET_SIZE);

		// 0 basierte arrays
		--pos;

		codepage[ALPHABET[pos&rsqb;&rsqb; = ALPHABET[i];
	}

	codepageFile.close();

	// Oki, doki ... los gehts

	std::cout &lt;&lt; &quot;Enter text to decode: &quot; &lt;&lt; std::endl;

	std::string text;
	std::getline(std::cin, text);

	text = remap(text.begin(), text.end(), codepage);

	std::cout &lt;&lt; &quot;Result -&gt; &quot; &lt;&lt; text &lt;&lt; std::endl;

	return 0;
}
</code></pre>
<p>Copy&amp;Paste von der Konsole:</p>
<pre><code>Enter path to codepage file:
C:\codepage.txt
Enter text to decode:
tmxxa
Result -&gt; hallo
</code></pre>
<p>Das File &quot;C:\codepage.txt&quot; beinhaltet einfach die Zahlen, welche du zu Beginn hier angegeben hast.</p>
<p>Ich hoffe der Code hilft dir weiter. Wenn Fragen bestehen, dann fühl dich frei zu fragen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697843</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sat, 18 Apr 2009 16:12:18 GMT</pubDate></item><item><title><![CDATA[Reply to logisches denken erforderlich on Sat, 18 Apr 2009 20:30:11 GMT]]></title><description><![CDATA[<p>VIELEN DANK damit hab ich ja jetzt nicht gerechnet.</p>
<p>jetzt muss man den code erst mal verstehen. ^^ hmm ich setzt mich kurz damit auseinander und mal sehen ich poste nochmal bei ein paar Fragen.</p>
<p>EDIT: AHHHH DAS IST GENIAL DANKE !!! (ich freu mich extrem, da ich seit 2 Wochen an einem decoder System arbeite und jetzt krieg ich den &quot;einfach mal so&quot;)<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>~jetzt macht mein encoder auch wieder sinn~<br />
jetzt werde ich nur noch mein encoder weiter verbessern und die verschlüsselund optimieren und sage schon jetzt voraus, dass ich noch einige Fragen haben werde (zum encoder).</p>
<p>Edit: ich habe diese zeile hinzugefügt <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>
<pre><code class="language-cpp">std::cout &lt;&lt; &quot;Decoder by Dravere \n&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1697922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697922</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Sat, 18 Apr 2009 20:30:11 GMT</pubDate></item><item><title><![CDATA[Reply to logisches denken erforderlich on Sat, 18 Apr 2009 20:54:23 GMT]]></title><description><![CDATA[<p>Hm, stellt sich die Frage, wieviel von dem dir gegebenen Code du auch tatsächlich verstehst...</p>
<p>Da gleich ein Template reinzupacken ist schon etwas.. naja.. anfängerunfreundlich. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
<p>Egal, solange es hilft..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697932</guid><dc:creator><![CDATA[cerotidinon]]></dc:creator><pubDate>Sat, 18 Apr 2009 20:54:23 GMT</pubDate></item><item><title><![CDATA[Reply to logisches denken erforderlich on Sat, 18 Apr 2009 20:58:14 GMT]]></title><description><![CDATA[<p>Naja um ehrlich zu sein hab ich nur SEHR wenig von verstanden, hauptsache er geht, auch wenn ich nicht behaupten kann er sei von mir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697933</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Sat, 18 Apr 2009 20:58:14 GMT</pubDate></item><item><title><![CDATA[Reply to logisches denken erforderlich on Sat, 18 Apr 2009 21:04:23 GMT]]></title><description><![CDATA[<p>Tim06TR schrieb:</p>
<blockquote>
<p>Edit: ich habe diese zeile hinzugefügt <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>
<pre><code class="language-cpp">std::cout &lt;&lt; &quot;Decoder by Dravere \n&quot;;
</code></pre>
</blockquote>
<p>Mach das lieber weg, bei solch schlechtem Code will ich keine Signatur drunter haben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>cerotidinon schrieb:</p>
<blockquote>
<p>Da gleich ein Template reinzupacken ist schon etwas.. naja.. anfängerunfreundlich. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
</blockquote>
<p>Bewusst, nenne ich Hausaufgabenschutz. Wenn ein Student dies seinem Professor vorlegt, dann wird der seine Zweifel bekommen, dass der Student dies wirklich alleine gemacht hat und es verstanden hat. Ein paar weitere Fragen und der Student ist in die Falle gelaufen <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>Tim06TR schrieb:</p>
<blockquote>
<p>Naja um ehrlich zu sein hab ich nur SEHR wenig von verstanden, hauptsache er geht, auch wenn ich nicht behaupten kann er sei von mir.</p>
</blockquote>
<p>Das ist für mich ein Grund, dass nächste Mal wieder keine komplette Lösung anzugeben. Es wäre schon Sinn der Sache, wenn du den Code probieren würdest zu verstehen. Sonst lernst du schliesslich nie was und es sollte doch darum gehen, dass du etwas lernst, nicht? Wie gesagt, ich bin hier um die Fragen zu beantworten und bin mir sicher, dass andere im Forum auch helfen würden.</p>
<p>Da hat meine Langeweile wohl mal wieder zu viel kaputt gemacht ... *seufz*</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697935</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sat, 18 Apr 2009 21:04:23 GMT</pubDate></item><item><title><![CDATA[Reply to logisches denken erforderlich on Sat, 18 Apr 2009 21:17:00 GMT]]></title><description><![CDATA[<p>nein nein nicht doch<br />
1. ich lerne es lieber langsam jeden tag max 1 &quot;Vokabel&quot; dazu (wenn man das so nennen darf) und das wär zu viel auf einmal zu verstehen ^^.</p>
<p>2. mach ich das lernen alles ohne &quot;grund&quot; nur so aus langeweile mal C++ ein wenig gelernt, ganz ohne lehrer, buch etc. und es geht (bitte kein kommentar ^^).<br />
~man muss mal davon absehen das mein &quot;Spaghetti Code&quot; sehr unordentlich ist~<br />
~aber ich krieg das eben nicht besser hin (ordentlicher)~</p>
<p>und bevor ich eine 1000 zeilen krüppel lösung nehme ... <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="😃"
    /><br />
(mein consolen tic tac toe hatte 2000 kaum schleifen kein switch case :x egal)</p>
<p>Aber eines Tages wird es mir helfen (bsp beruf <strong>stdio</strong> ähhh studium ^^)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1697939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1697939</guid><dc:creator><![CDATA[5cript]]></dc:creator><pubDate>Sat, 18 Apr 2009 21:17:00 GMT</pubDate></item></channel></rss>