Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » for-schleife --> Ausgabe funktioniert nicht...falscher Wert

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.04.2005, 16:40 Uhr
~tommy07
Gast


Hallo, ich habe ein problem mit einer for-schleife.

...ein Teil meines Codes...


C++:
for(int i; i<=900;i++){
   c=  (b[1]-a[i])*(b[1]-a[i])+  (b[2]-a[i+1])*(b[2]-a[i+1])+ (b[3]-a[i+2])*(b[3]-a[i+2])+ (b[4]-a[i+3])*(b[4]-a[i+3])+ (b[5]-a[i+4])*(b[5]-a[i+4]);

        if(c<=20){
         gefunden= 5;
        }
}

  ofstream examplefile ("example.txt");
  if (examplefile.is_open())
  {
    examplefile << gefunden;
    examplefile << "text";
    examplefile.close();
  }

  
  return 0;
}



"gefunden soll ausgegeben werden, b und a sind Werte die verglichen werden. Normalerweise würde dann "i" ausgegeben, um zu wissen an welcher Stelle a und b übereinstimmen. Zum Testen habe ich in die schleife einfach einen Wert geschrieben, der später ausgegeben werden soll. "Gefunden" wäre nun ja 5.... ausgegeben wird aber 4451504 ... woher kommt diese Zahl und wie mach ich's richtig, was is also falsch? "gefunden" wird an keiner anderen stelle ein andere wert zugewiesen, also ist es eigentlich völlig unlogisch, dass diese hohe zahl ausgegeben wird. Bitte um schnelle Hilfe

cu Tommy07
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.04.2005, 16:46 Uhr
Th



Du solltest vor der Schleife "gefunden" initialisieren, ansonsten hat die Variable einen undefinierten Wert, wenn die Schleife durchlaufen wird, wenn c niemals kleiner oder gleich 20 ist (die Bedingung also nicht erfüllt wird).
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.04.2005, 16:50 Uhr
~tommy07
Gast



C++:
#include <fstream.h>
#include <iostream.h>
#include <math.h>

int main () {
int a [1000];
int b [6]={184,226, 266,66,146};
int c; int gefunden;



so sieht mein programmkopf aus, also gefunden ist initialisiert.
Woher kommt diese große Zahl?? Kennt die vielleicht jemand, ist das ein üblicher Fehler? Irgend'nen Grund muss die Zahl doch haben!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
08.04.2005, 17:09 Uhr
Th



Die Variable ist zwar deklariert, aber nicht initialisiert (keinen Wert).
Schreib deshalb:

C++:
int gefunden = 0;



Außerdem scheint mir noch ein Fehler bei dem array "b" zu sein.
Du hast nur 5 Werte in das Array geschrieben, greifst aber auf die Array-Elemente mit den Indiezes 1-5 zu. Da in C/C++ aber die Indizes nullbasiert sind, mußt du demnach b[0], .. b[4] schreiben.

Dieser Post wurde am 08.04.2005 um 17:13 Uhr von Th editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
08.04.2005, 17:27 Uhr
~tommy07
Gast



C++:
for(int i; i<=900;i++){
   //c =  (b[1]-a[i])*(b[1]-a[i])+  (b[2]-a[i+1])*(b[2]-a[i+1])+ (b[3]-a[i+2])*(b[3]-a[i+2])+ (b[4]-a[i+3])*(b[4]-a[i+3])+ (b[5]-a[i+4])*(b[5]-a[i+4]);

        //if(c<=20){
         gefunden = 27;
        //}
}


Wenn ich "gefunden" oben mit null gleichsetze und alle bs aus dem Quelltext rausquote, wird 0 ausgegeben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
08.04.2005, 17:54 Uhr
~tommy07
Gast


*UNGEDULD*
also ich hab demnach immer noch das problem, BITTE HELFEN!!!
Sonst schreib mir einer bitte mal eine komplette funktionierende for-schleife analog zu meiner rein!!!!!

BITTE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
08.04.2005, 18:06 Uhr
~x1n
Gast



Code:

for(int i = 0; i<=900;i++)  //<-- Hier war der Fehler *
{
   //Dein Code
}



*du musst die Variable i im Funktionskopf auch mit 0 initialisieren
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: