c++

Dieses Thema im Forum "Programmieren" wurde erstellt von Dackel, 21. Februar 2003.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Dackel

    Dackel Byte

    Registriert seit:
    6. September 2001
    Beiträge:
    85
    Könnt ihr mir sagen, was an dem Code falsch ist. Die Fehlermeldung vom Compiler verstehe ich nicht.(Code für die Wurzelberechnung nach Heron)
    #include <iostream.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <iostream>
    #include <unistd.h>
    #include <conio.h>

    void main()
    {
    int int_wert;
    int Y1,X2,Y2,X3,Y3;
    int a,X1;
    cout << "Bitte geben sie einen Wert ein" << endl;
    cin >>a;
    X1 = 1
    Y1 = a / X1

    X2 = (X1 + Y1) / 2
    Y2 = a / Y2

    X3 = (X2 + Y2) / 2
    Y3 = a / X3
    cout << Y3 <<;
    getch();
    }
     
  2. Sumo

    Sumo Kbyte

    Registriert seit:
    30. August 2000
    Beiträge:
    178
    Hallo?
    Glaubst du das guckt sich jemand an und sucht den Fehler?
    Verwende mal eine Schleife. Außerdem kannst du das Programm auf 3 Variablen kürzen. Das ganze wird dann vielleicht ein 5 Zeilen Programm.

    edit:
    So siehts dann aus.

    #include <iostream>
    #include <conio.h>

    void main()
    {
    float Zahl,a,b;
    a = 5;
    b = 0;
    cout<<"Bitte Zahl eingeben: ";
    cin>>Zahl;
    for(int i = 1; i < 5; i++)
    {
    b = Zahl / a;
    a = (a + b) / 2;
    }
    cout<<"Ergebnis: "<< a;
    getch();
    }
    [Diese Nachricht wurde von Sumo am 23.02.2003 | 18:12 geändert.]
     
  3. Dackel

    Dackel Byte

    Registriert seit:
    6. September 2001
    Beiträge:
    85
    Die Genauigkeit war mir bis jetzt zu schlecht, da habe ich es einfach bis Y70 erweitert. Jetzt stimmt aber das Ergebnis gar nicht.
    Vielleicht könnt ihr mir helfen. Ich habe denn Fehler nicht gesehen.

    #include <iostream>
    #include <conio.h>
    #include <float.h>
    void main()
    {
    float a,c,X1,Y1,X2,Y2,X3,Y3,X4,Y4,X5,Y5,X6,Y6,X7,Y7,X8,Y8,X9,Y9,X10,Y10;
    float X11,Y11,X12,Y12,X13,Y13,X14,Y14,X15,Y15,X16,Y16,X17,Y17,X18,Y18,X19,Y19,X20,Y20;
    float X21,Y21,X22,Y22,X23,Y23,X24,Y24,X25,Y25,X26,Y26,X27,Y27,X28,Y28,X29,Y29,X30,Y30;
    float X31,Y31,X32,Y32,X33,Y33,X34,Y34,X35,Y35,X36,Y36,X37,Y37,X38,Y38,X39,Y39,X40,Y40;
    float X41,Y41,X42,Y42,X43,Y43,X44,Y44,X45,Y45,X46,Y46,X47,Y47,X48,Y48,X49,Y49,X50,Y50;
    float X51,Y51,X52,Y52,X53,Y53,X54,Y54,X55,Y55,X56,Y56,X57,Y57,X58,Y58,X59,Y59,X60,Y60;
    float X61,Y61,X62,Y62,X63,Y63,X64,Y64,X65,Y65,X66,Y66,X67,Y67,X68,Y68,X69,Y69,X70,Y70;

    cout << "Bitte geben sie einen Wert ein" << endl;
    cin >>a;
    X1 = 1;
    Y1 = a / X1;
    X2 = (X1 + Y1) / 2;
    Y2 = a / X2;
    X3 = (X2 + Y2) / 2;
    Y3 = a / X3;
    X4 = (X3 + Y3) / 2;
    Y4 = a / X4;
    X5 = (X4 + Y4) / 2;
    Y5 = a / X5;
    X6 = (X5 + Y5) / 2;
    Y6 = a / X6;
    X7 = (X6 + Y6) / 2;
    Y7 = a / X7;
    X8 = (X7 + Y7) / 2;
    Y8 = a / X8;
    X9 = (X8 + Y8) / 2;
    Y9 = a / X9;
    X10 = (X9 + Y9) / 2;
    Y10 = a / X10;
    X11 = (X10 + Y10) / 2;
    Y11 = a / X11;
    X12 = (X11 + Y11) / 2;
    Y12 = a / X12;
    X13 = (X12 + Y12) / 2;
    Y13 = a / X13;
    X14 = (X13 + Y13) / 2;
    Y14 = a / X14;
    X15 = (X14 + Y14) / 2;
    Y15 = a / X15;
    X16 = (X15 + Y15) / 2;
    Y16 = a / X16;
    X17 = (X16 + Y16) / 2;
    Y17 = a / X17;
    X18 = (X17 + Y17) / 2;
    Y18 = a / X18;
    X19 = (X18 + Y18) / 2;
    Y19 = a / X19;
    X20 = (X19 + Y19) / 2;
    Y20 = a / X20;
    X21 = (X20 + Y20) / 2;
    Y21 = a / X21;
    X22 = (X21 + Y21) / 2;
    Y22 = a / X22;
    X23 = (X22 + Y22) / 2;
    Y23 = a / X23;
    X24 = (X23 + Y23) / 2;
    Y24 = a / X24;
    X25 = (X24 + Y24) / 2;
    Y25 = a / X25;
    X26 = (X25 + Y25) / 2;
    Y26 = a / X26;
    X27 = (X26 + Y26) / 2;
    Y27 = a / X27;
    X28 = (X27 + Y27) / 2;
    Y29 = a / X29;
    X30 = (X29 + Y29) / 2;
    Y30 = a / X30;
    X31 = (X30 + Y30) / 2;
    Y31 = a / X31;
    X32 = (X31 + Y31) / 2;
    Y32 = a / X32;
    X33 = (X32 + Y32) / 2;
    Y33 = a / X33;
    X34 = (X33 + Y33) / 2;
    Y34 = a / X34;
    X35 = (X34 + Y34) / 2;
    Y35 = a / X35;
    X36 = (X35 + Y35) / 2;
    Y36 = a / X36;
    X37 = (X36 + Y36) / 2;
    Y37 = a / X37;
    X38 = (X37 + Y37) / 2;
    Y38 = a / X38;
    X39 = (X38 + Y38) / 2;
    Y39 = a / X39;
    X40 = (X39 + Y39) / 2;
    Y40 = a / X40;
    X41 = (X40 + Y40) / 2;
    Y41 = a / X41;
    X42 = (X41 + Y41) / 2;
    Y42 = a / X42;
    X43 = (X42 + Y42) / 2;
    Y43 = a / X43;
    X44 = (X43 + Y43) / 2;
    Y44 = a / X44;
    X45 = (X44 + Y44) / 2;
    Y45 = a / X45;
    X46 = (X45 + Y45) / 2;
    Y46 = a / X46;
    X47 = (X46 + Y46) / 2;
    Y47 = a / X47;
    X48 = (X47 + Y47) / 2;
    Y48 = a / X48;
    X49 = (X48 + Y48) / 2;
    Y49 = a / X49;
    X50 = (X49 + Y49) / 2;
    Y50 = a / X50;
    X51 = (X50 + Y50) / 2;
    Y51 = a / X51;
    X52 = (X51 + Y51) / 2;
    Y52 = a / X52;
    X53 = (X52 + Y52) / 2;
    Y53 = a / X53;
    X54 = (X53 + Y53) / 2;
    Y54 = a / X54;
    X55 = (X54 + Y54) / 2;
    Y55 = a / X55;
    X56 = (X55 + Y55) / 2;
    Y56 = a / X56;
    X57 = (X56 + Y56) / 2;
    Y57 = a / X57;
    X58 = (X57 + Y57) / 2;
    Y58 = a / X58;
    X59 = (X58 + Y58) / 2;
    Y59 = a / X59;
    X60 = (X59 + Y59) / 2;
    Y60 = a / X60;
    X61 = (X60 + Y60) / 2;
    Y61 = a / X61;
    X62 = (X61 + Y61) / 2;
    Y62 = a / X62;
    X63 = (X62 + Y62) / 2;
    Y63 = a / X63;
    X64 = (X63 + Y63) / 2;
    Y64 = a / X64;
    X65 = (X64 + Y64) / 2;
    Y65 = a / X65;
    X66 = (X65 + Y65) / 2;
    Y66 = a / X66;
    X67 = (X66 + Y66) / 2;
    Y67 = a / X67;
    X68 = (X67 + Y67) / 2;
    Y68 = a / X68;
    X69 = (X68 + Y68) / 2;
    Y69 = a / X69;
    X70 = (X69 + Y69) / 2;
    Y70 = a / X70;
    cout <<"Ergebnis: " << Y70 << endl;
    cout <<"Programm schließen?"<< endl;
    cin >> c;
    }
    [Diese Nachricht wurde von Dackel am 23.02.2003 | 16:29 geändert.]
     
  4. TaskForceX1

    TaskForceX1 Byte

    Registriert seit:
    26. Juli 2001
    Beiträge:
    83
    Das darf nicht mathematisch interpretiert werden vom Menschen!

    Das ist eine Selbstzuweisung. Als erstes wird der rechte Teil seitens des = ausgerechnet und dann dem linken Teil zugewiesen.

    mfg Andreas
     
  5. gert12349

    gert12349 Halbes Megabyte

    Registriert seit:
    21. Oktober 2001
    Beiträge:
    651
    Das kann ich dir jetzt nicht erklären - ich kenne die Berechnung nach Heron nicht. Aber dein Hinweis klingt logisch.

    Gruß Gert
     
  6. Plinius

    Plinius Viertel Gigabyte

    Registriert seit:
    18. Oktober 2001
    Beiträge:
    2.811
    Ich kenne mich zwar dabei nicht aus, aber bitte erkläre mir warum Y2=a/Y2 ist und nicht Y2=a/X2? Oder sollte das nicht logisch sein?
     
  7. gert12349

    gert12349 Halbes Megabyte

    Registriert seit:
    21. Oktober 2001
    Beiträge:
    651
    Y2 wird nicht initialisiert.

    Gruß Gert
     
  8. Sumo

    Sumo Kbyte

    Registriert seit:
    30. August 2000
    Beiträge:
    178
    #include <iostream>
    #include <conio.h>

    void main()
    {
    int int_wert;
    int Y1,X2,Y2,X3,Y3;
    int a,X1;
    cout << "Bitte geben sie einen Wert ein" << endl;
    cin >>a;
    X1 = 1;
    Y1 = a / X1;

    X2 = (X1 + Y1) / 2;
    Y2 = a / Y2;

    X3 = (X2 + Y2) / 2;
    Y3 = a / X3;
    cout <<"Ergebnis: " << Y3 << endl;
    getch();
    }

    so lässt er sich schon mal compilieren. Die Ergebnisse stimmen aber nicht. Wenn ich 1 oder 2 eingebe stürzt das Programm ab. Sonst gibt das Programm auch nur 3 oder 4 als Ergebnis aus
     
  9. TaskForceX1

    TaskForceX1 Byte

    Registriert seit:
    26. Juli 2001
    Beiträge:
    83
    ich würd mal sagen, dass ein paar Semikolons fehlen, oder???

    mfg Andreas
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen