Outstream Datei nimmt nur Integer-Werte

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Outstream Datei nimmt nur Integer-Werte

    Hi,

    ich habe folgendes Problem. Ich habe ein Programm zur Berechnung einer Wahrscheinlichkeitsmatrix geschrieben.
    Wenn ich die Wahrscheinlichkeiten dann auf der Konsole ausgeben lasse, stimmen die Werte. Sie sind reell und alle zwischen 0 und 1.

    Wenn ich dann aber mit folgendem Syntax die Werte in eine Datei ausgeben lassen möchte, finde ich dort nur Werte die genau 0 oder genau 1 sind. Wichtig dabei ist auch, dass diese Werte nicht etwa gerundete Werte sind. Vielmehr erhält jeder Wert >0 den Wert 1. Eine Wahrscheinlichkeit 0.027 wird also auch zu einem Einser.
    Woran liegt das, und wie kann ich es hinbekommen, dass die korrekten Werte abgespeichert werden?

    Hier der Syntax zur Erzeugung der Outstream-Datei:

    Quellcode

    1. ofstream OUT ( "MMatrix.dat" );
    2. for(i=1;i<=anzzustaende;i++)
    3. {
    4. for(j=1;j<=anzzustaende;j++)
    5. {
    6. OUT<<MM[i][j]<<" ";
    7. }
    8. OUT<<"\n";
    9. }
    10. OUT.close();



    Danke schon mal für eure Hilfe.
  • Hi,

    habe selbst das Problem gefunden. Die Wahrscheinlichkeiten wurden doch nicht korrekt berechnet.

    In einer If-Bedingung hatte ich nur ein "=" statt eines"==". Dadurch wurden alle Wahrscheinlichkeiten nach und nach aufsummiert.

    In der Konsole waren dann zwar die richtigen Wahrscheinlichkeiten, die dann aber nach und nach komplett zur 1 aufaddiert wurden.

    Da der Outstream erst danach aufgerufen wurde, wurden hier die End-Wahrscheinlichkeiten eingetragen.