c-programm kann JMD HELFEN



  • Bitte tue deinen Code formatieren. Das sieht echt übel aus! 😉



  • ICH DANKE euch alllen....
    aber hier ist immer noch ein FEHLER:

    for (x;x<y_achse;x++){
        funk=(a*x*x*x+b*x*x+c*x+d)+0.5;
        funk1=((3*a)*(x*x)+(2*b)*(x)+c)+0.5;
        funk2=((6*a)*x+(2*b))+0.5;
    

    invalid operands to binary * steht dann immer da

    -------------------------------------------------------------------------------
    und bei dieser funktion steht: syntax error before numeric constant

    void array_leeren(int koordinaten_array[][y_achse], int x_achse){
    
    int lauf1=0;
    int lauf2=0;
    
    for (lauf1;lauf1>x_achse;lauf1++){
        for (lauf2;lauf2>y_achse;lauf2++){
        koordinaten_array[lauf1][lauf2]= ' ';
    }
    
    }  
    
    }
    

    Edit by c.rackwitz: ich bitte um cpp Tags



  • Benutz bitte endlich cpp Tags, auch wenn es kein C++ ist. Okay?

    Offensichtlich fehlt es bei dir an den Grundlagen. Versuch bitte deine Antworten aus diesem oder einem anderen Tutorial zu finden.
    http://www.pronix.de/pronix-4.html



  • Wieso sollte er denn

    Tags benutzen? Ihm wird doch auch so geholfen und nette Mods pimpen seine Beiträge sowieso 😉



  • Erstens: Du hast a bis d als Pointer deklariert (ganz nebenbei auch noch, ohne sie auf vernünftigen Speicher zeigen zu lassen).

    Zweitens: Wo und wie ist "koordinaten_array" deklariert?

    Drittens: a ist wie gesagt ein Pointer auf double - und Pointer kann man nicht multiplizieren. (richtig sollte es entweder "double a,b,c,d;" am Anfang heißen oder "func = *a * x*x*x + *b * x*x + *c * x + *d + 0.5;")



  • sorryy aber ich kann kein CPP....sondern nur c
    wenn man sich mal hier umsieht...bekommen viele andere auch
    antoworten,obwohl es C ist und nicht cpp...

    aber danke euch nochmal



  • danke cstoll soweit.....



  • koordinatan_array ist in der main funktion



  • viperv1 schrieb:

    antoworten,obwohl es C ist und nicht cpp...

    Wenn es dir nur um die Tag-Bezeichnung geht: [cpp] wird hier auch für C-Codes verwendet 😉

    koordinatan_array ist in der main funktion

    Also lokal - d.h. das Programm kennt es außerhalb der main() auch nicht (außer du schickst es per Parameter an andere Funktionen weiter)



  • ich glaube ich mache es dann lieber global dann sehe ich weiter, wie ich das andere hinbekommen kann....danke auf deinen hinweis...hat mir keiner erklärt..

    die scanfanweisung wird makiert und es wird folgender fehler ausgegeben:
    incompatible types in assignment

    [cpp]void eingabe_berechnung(void){

    double a,b,c,d =0;
    double koeff_zahl[4];

    int funk=0,funk1=0,funk2=0;
    int x=0;

    printf("Koeffizienten fuer x^3 eingeben: ");
    scanf("%lf", &koeff_zahl[0]); a=&koeff_zahl[0];
    printf("Koeffizienten fuer x^2 eingeben: ");
    scanf("%lf", &koeff_zahl[1]); b=&koeff_zahl[1];
    printf("Koeffizienten fuer x^1 eingeben: ");
    scanf("%lf", &koeff_zahl[2]); c=&koeff_zahl[2];
    printf("Koeffizienten fuer x^0 eingeben: ");
    scanf("%lf", &koeff_zahl[3]); d=&koeff_zahl[3];

    a=koeff_zahl[3];
    b=koeff_zahl[2];
    c=koeff_zahl[1];
    d=koeff_zahl[0];

    for (x;x<y_achse;x++){
    funk=(a*x*x*x+b*x*x+c*x+d)+0.5;
    funk1=((3*a)*(x*x)+(2*b)(x)+c)+0.5;
    funk2=((6*a)*x+(2
    b))+0.5;

    if ((funk >= 0) && (funk<x_achse)){
    koordinaten_array[funk][x]='*';
    }
    if ((funk >= 0) && (funk1<x_achse)){
    koordinaten_array[funk1][x]='+';
    }
    if ((funk >= 0) && (funk2<x_achse)){
    koordinaten_array[funk2][x]='#';
    }
    }
    }[/cpp]



  • ich glaube ich mache es dann lieber global dann sehe ich weiter, wie ich das andere hinbekommen kann....danke auf deinen hinweis...hat mir keiner erklärt..

    die scanfanweisung wird makiert und es wird folgender fehler ausgegeben:
    incompatible types in assignment

    void eingabe_berechnung(void){
    
    double a,b,c,d =0;
    double koeff_zahl[4];
    
    int funk=0,funk1=0,funk2=0;
    int x=0;
    
    printf("Koeffizienten fuer x^3 eingeben: ");
    scanf("%lf", &koeff_zahl[0]); a=&koeff_zahl[0];
    printf("Koeffizienten fuer x^2 eingeben: ");
    scanf("%lf", &koeff_zahl[1]); b=&koeff_zahl[1];
    printf("Koeffizienten fuer x^1 eingeben: ");
    scanf("%lf", &koeff_zahl[2]); c=&koeff_zahl[2];
    printf("Koeffizienten fuer x^0 eingeben: ");
    scanf("%lf", &koeff_zahl[3]); d=&koeff_zahl[3];
    
    a=koeff_zahl[3];
    b=koeff_zahl[2];
    c=koeff_zahl[1];
    d=koeff_zahl[0];
    
    for (x;x<y_achse;x++){
    funk=(a*x*x*x+b*x*x+c*x+d)+0.5;
    funk1=((3*a)*(x*x)+(2*b)*(x)+c)+0.5;
    funk2=((6*a)*x+(2*b))+0.5;
    
    if ((funk >= 0) && (funk<x_achse)){
    koordinaten_array[funk][x]='*';
    }
    if ((funk >= 0) && (funk1<x_achse)){
    koordinaten_array[funk1][x]='+';
    }
    if ((funk >= 0) && (funk2<x_achse)){
    koordinaten_array[funk2][x]='#';
    }
    }
    }
    


  • viperv1 schrieb:

    void eingabe_berechnung(void){
    double a,b,c,d =0;
    //...
    scanf("%lf", &koeff_zahl[0]);
    a=&koeff_zahl[0];// ich nehme an, das ist der Fehler ;)
    

    Du hast die Koeffizienten wieder als double definiert - also mußt du ihnen auch double-Werte zuweisen und keine Speicheradressen 😉 (im Klartext: das & ist an der Stelle überflüssig)



  • ohhhhhhhhh mannnnnnnnnnnnnn
    dankkkkkkkkkkkkeee du bist echt in ordnung....danke ich habe diesen fehler garnicht gesehen...danke..nochmal danke danke danke

    habe nur noch diese stell....die nicht richtig geht
    die markieret zeil: syntax error before numeric constant

    [cpp]
    void array_leeren(int koordinaten_array[][y_achse], int x_achse){

    int lauf1=0;
    int lauf2=0;

    for (lauf1;lauf1<x_achse;lauf1++){
    for (lauf2;lauf2<y_achse;lauf2++){
    koordinaten_array[lauf1][lauf2]= ' ';
    }

    }
    } [/cpp]



  • ohhhhhhhhh mannnnnnnnnnnnnn
    dankkkkkkkkkkkkeee du bist echt in ordnung....danke ich habe diesen fehler garnicht gesehen...danke..nochmal danke danke danke

    habe nur noch diese stell....die nicht richtig geht
    AM anfang der funktion: syntax error before numeric constant

    void array_leeren(int koordinaten_array[][y_achse], int x_achse){
    
    int lauf1=0;
    int lauf2=0;
    
    for (lauf1;lauf1<x_achse;lauf1++){
    for (lauf2;lauf2<y_achse;lauf2++){
    koordinaten_array[lauf1][lauf2]= ' ';
    }
    
    }
    }
    

Anmelden zum Antworten