<?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[Hilfe bei Fehler im Program suchen]]></title><description><![CDATA[<p>Hi<br />
Ich hab ein Program geschrieben, dass die Werte eines Chars in einen Int Array speichert und dann jeweils 3 dieser Ascii zeichen zusammenfügt. Hier der Quelltext:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;iostream&gt;
#include &lt;windows.h&gt;
using namespace std;
int main()
{
cout &lt;&lt; &quot;Text : (80) \n&quot;;
     char Nachricht [78];
     cin &gt;&gt; Nachricht;

     	int nStrLen = strlen(Nachricht);
     //nStrLen=nStrLen-1;
     int out [nStrLen];
     for (int i=0;i&lt;nStrLen;i++){
     out[i]=Nachricht[i];
     cout &lt;&lt;&quot; &quot;&lt;&lt; i&lt;&lt;&quot;  &quot;&lt;&lt;out[i] &lt;&lt; nStrLen;
     }
     cout &lt;&lt; --------------&lt;&lt; endl;
     int c=0;
     int var[26];

     int i=0;

    for(c; c &lt; nStrLen;c++ ) 
{ 

   var[c] = 1000000000+(out[i] * 1000000 + out[i+1] * 1000 + out[i+2]); 
var [c]=var[c]-1000000000; 
  cout&lt;&lt;c&lt;&lt; var[c]&lt;&lt; &quot;\n&quot;;
  i += 3;
} 
system (&quot;pause&quot;);
return 0;
}
</code></pre>
<p>So jetzt hab ich folgendes Problem. Wenn ich Hallo schreibe gib er mir folgendes aus:<br />
-----------------------<br />
0104097108<br />
1-2098046079<br />
2-133513888<br />
3122090984<br />
41525003616</p>
<p>Wie kann ich verhindern, dass da am Ende so eine komische Zahlen, wie -2098046079 rauskommt? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/244126/hilfe-bei-fehler-im-program-suchen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 13:26:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/244126.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Jun 2009 15:42:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hilfe bei Fehler im Program suchen on Thu, 25 Jun 2009 15:48:36 GMT]]></title><description><![CDATA[<p>Hi<br />
Ich hab ein Program geschrieben, dass die Werte eines Chars in einen Int Array speichert und dann jeweils 3 dieser Ascii zeichen zusammenfügt. Hier der Quelltext:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;iostream&gt;
#include &lt;windows.h&gt;
using namespace std;
int main()
{
cout &lt;&lt; &quot;Text : (80) \n&quot;;
     char Nachricht [78];
     cin &gt;&gt; Nachricht;

     	int nStrLen = strlen(Nachricht);
     //nStrLen=nStrLen-1;
     int out [nStrLen];
     for (int i=0;i&lt;nStrLen;i++){
     out[i]=Nachricht[i];
     cout &lt;&lt;&quot; &quot;&lt;&lt; i&lt;&lt;&quot;  &quot;&lt;&lt;out[i] &lt;&lt; nStrLen;
     }
     cout &lt;&lt; --------------&lt;&lt; endl;
     int c=0;
     int var[26];

     int i=0;

    for(c; c &lt; nStrLen;c++ ) 
{ 

   var[c] = 1000000000+(out[i] * 1000000 + out[i+1] * 1000 + out[i+2]); 
var [c]=var[c]-1000000000; 
  cout&lt;&lt;c&lt;&lt; var[c]&lt;&lt; &quot;\n&quot;;
  i += 3;
} 
system (&quot;pause&quot;);
return 0;
}
</code></pre>
<p>So jetzt hab ich folgendes Problem. Wenn ich Hallo schreibe gib er mir folgendes aus:<br />
-----------------------<br />
0104097108<br />
1-2098046079<br />
2-133513888<br />
3122090984<br />
41525003616</p>
<p>Wie kann ich verhindern, dass da am Ende so eine komische Zahlen, wie -2098046079 rauskommt? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1732773</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1732773</guid><dc:creator><![CDATA[19freddy92]]></dc:creator><pubDate>Thu, 25 Jun 2009 15:48:36 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fehler im Program suchen on Fri, 26 Jun 2009 06:29:08 GMT]]></title><description><![CDATA[<p>Zeile 14: In ISO C++ müssen Felder eine fest vorgegebene Größe haben, wenn Du das dynamisch haben willst, musst Du das mit new allokieren und mit delete [] wieder freigeben<br />
Zeile 19: da fehlen die doppelten Anführungszeichen vor und hinter der Zeichenkette</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1733076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1733076</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Fri, 26 Jun 2009 06:29:08 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fehler im Program suchen on Fri, 26 Jun 2009 07:06:29 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>vorab: Ich finde, es sollte verbten werden Variablen &quot;var&quot; zu nennen. <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>Aber zum Handling von strings mal ein paar Alternativvorschläge zum Lernen:</p>
<p>(Variante 1: am dichtesten an Deiner Variante)</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;

using namespace std;
int main() {
   cout &lt;&lt; &quot;Text :\n&quot;;
   string Nachricht; // string ist in vielerlei Hinsicht &quot;besser&quot; (einfacher, sicherer, ...)
   cin &gt;&gt; Nachricht;

   vector&lt;int&gt; out(Nachricht.length()); // reserviert soviele ints wie Zeichen in Nachricht

   for (unsigned int i=0;i&lt;Nachricht.length();i++){
     out[i] = static_cast&lt;int&gt;(Nachricht[i]);
     cout &lt;&lt;&quot; &quot;&lt;&lt; i&lt;&lt;&quot;  &quot;&lt;&lt;out[i] &lt;&lt; Nachricht.lenght();
   }
....
</code></pre>
<p>(Variante 2: &quot;Dynamik&quot; von vector nutzen)</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;

using namespace std;
int main() {
   cout &lt;&lt; &quot;Text :\n&quot;;
   string Nachricht;
   cin &gt;&gt; Nachricht;

   vector&lt;int&gt; out; // erstmal keine Länge

   for (unsigned int i=0;i&lt;Nachricht.length();i++){
     out.push_back(static_cast&lt;int&gt;(Nachricht[i])); // erweitert selbstätig out
     cout &lt;&lt;&quot; &quot;&lt;&lt; i&lt;&lt;&quot;  &quot;&lt;&lt;out[i] &lt;&lt; Nachricht.lenght();
   }
....
</code></pre>
<p>Ich weiß nicht, ob Du es schon weißt, aber man kann mit streams (wie z.B. cin) auch direkt Zahlen einlesen...<br />
Man kann dann noch mit std::copy() was fummeln, aber das wäre evtl. ein wenig zu weit.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1733084</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1733084</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 26 Jun 2009 07:06:29 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fehler im Program suchen on Fri, 26 Jun 2009 12:24:21 GMT]]></title><description><![CDATA[<p>Danke für die Hilfe es funktioniert jetzt. <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 />
Mein Quelltext sieht jetzt so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
#include &lt;string&gt; 
#include &lt;vector&gt; 

using namespace std; 
int main() { 
   cout &lt;&lt; &quot;Text :\n&quot;; 
   string Nachricht; // string ist in vielerlei Hinsicht &quot;besser&quot; (einfacher, sicherer, ...) 
   cin &gt;&gt; Nachricht; 

   vector&lt;int&gt; out(Nachricht.length()); // reserviert soviele ints wie Zeichen in Nachricht 

   for (unsigned int i=0;i&lt;Nachricht.length();i+=3){ 
     out[i] =  1000000000+(static_cast&lt;int&gt;(Nachricht[i])* 1000000 + static_cast&lt;int&gt;(Nachricht[i+1]) * 1000 + static_cast&lt;int&gt;(Nachricht[i+2])); 
     out[i]=out[i]-1000000000;
     cout &lt;&lt;&quot; &quot;&lt;&lt; i &lt;&lt;&quot;  &quot;&lt;&lt;out[i]&lt;&lt; &quot;\n&quot; ; 
   } 

   cout &lt;&lt; &quot;\n&quot; &lt;&lt; out[1] &lt;&lt; out[2];
   cout &lt;&lt; &quot;\n Hallo&quot;;
 int a;  
 cin &gt;&gt; a;
   return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1733276</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1733276</guid><dc:creator><![CDATA[19freddy92]]></dc:creator><pubDate>Fri, 26 Jun 2009 12:24:21 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fehler im Program suchen on Fri, 26 Jun 2009 13:52:04 GMT]]></title><description><![CDATA[<p>1. Wozu addierst Du die 1000000000, wenn Du sie anschliessend wieder abziehst??<br />
2. Wenn der eingegebene Text nicht eine ohne Rest durch 3 teilbare Länge hat, wird kräftig daneben gegriffen!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1733347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1733347</guid><dc:creator><![CDATA[jencas]]></dc:creator><pubDate>Fri, 26 Jun 2009 13:52:04 GMT</pubDate></item></channel></rss>