C-Hilfe



  • 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]= ' ';
    }

    }

    }



  • KANNST DU BITTE MAL DEINEN CODE MIT CODE-TAGS FORMATIEREN.
    Es bringt auch nix, wenn du den selben Beitrag 10 mal postest, da
    antwortet auch keiner schneller! Mir fällt dazu nix ein!



  • na dann...DANKE und sry...echt....was soll ich an einem so kurzen code machen?
    das sieht jeder mit nem krückstock....DANKEEE DIRR NOCHMAL



  • corvettev1 schrieb:

    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

    Was für einen Typ haben denn a, b, c, d und x?

    und bei dieser funktion steht: syntax error before numeric constant
    void array_leeren(int koordinaten_array[][y_achse], int x_achse){

    Meine Vermutung: Du hast irgendwo ein "#define x_achse ..."



  • DEINE vermutung stimmt volkommen

    #define x_achse 76
    #define y_achse 22

    --------------------------------------------------------------------------------------
    das ist meine fuinktion die probleme macht....die defines sind natürlich global!

    void eingabe_berechnung(void){

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

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

    *a=koeff[3];
    *b=koeff[2];
    *c=koeff[1];
    *d=koeff[0];
    hier MOTZT der compiler ebenfalls....bekomme das mit den Pointern nicht hin

    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];
    }
    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]='#';
    }
    }
    }



  • corvettev1 schrieb:

    die defines sind natürlich global!

    Defines sind immer global. Du kannst diese Bezeichner dann natürlich nicht mehr für Variablen oder Parameter benutzen, wie du es in array_leeren gemacht hast.

    hier MOTZT der compiler ebenfalls....bekomme das mit den Pointern nicht hin

    Warum sind das denn überhaupt Pointer?

    Wenn du beim nächsten Beitrag immer noch keine Codetags benutzt, stelle ich die Hilfe ein.



  • sry aber ich weiss nicht wie ich hier mit eurer formatierung hantieren soll....das ist HTML...wie ich merke..

    daher...würde es gern machen....ich mach es nicht weil ich zu faul bin 😞

    void eingabe_berechnung(void){
    double a,b,c,d =0;
    double koeff_zahl[4];
    int funk=0,funk1=0,funk2=0;
    int x=0;
    
    a=koeff[3]; 
         b=koeff[2]; 
         c=koeff[1]; 
         d=koeff[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];
    


  • hofffe mal das ist gefälliger....danke



  • Wie wäre es denn, wenn du zuerst die Werte in dein Array einliest und dann wieder rausholst? Nicht andersrum, wie du es machst?



  • kannst du mir einen kleinen Tipp geben wie ich das am besten machen kann?

    ps; wirklich vielen danke das du wenigstens hilfst



  • corvettev1 schrieb:

    kannst du mir einen kleinen Tipp geben wie ich das am besten machen kann?

    Indem du die Reihenfolge der Zeilen in deinem Code änderst? Hast du überhaupt eine grobe Vorstellung davon, was dein Code tut?



  • habe es auch so gemacht aber keine änderung...der motzt immer noch beim scanf
    incomatible types ins assigmnent

    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]='#';
             }
         }
    }
    


  • Bei so vielen Threads zum selben Thema ist es kein Wunder, daß du den Überblick verlierst - imho reicht ein Thread völlig aus, deine Programmier-Skills auszubreiten 😃



  • Lass diese Zuweisungen gleich nach dem scanf doch mal weg. Die stehen doch darunter. Du müsstest dich nur entscheiden, ob a nun in koeff_zahl[0] oder koeff_zahl[3] steht.

    Wofür brauchst du das Array überhaupt? Warum liest du nicht gleich in a, b, c und d ein?



  • wie müsste ich das machen? wenn ich die werte abcd gleich einlesen würde?



  • Du gibst doch bei scanf die Adresse der Variablen an, in die eingelesen werden soll. Möglichweise ist dir das nicht bewusst, aber so ist es. Und wenn du da statt der Adresse eines Elements deines Arrays beispielsweise die Adresse von a angibst, dann liest du nicht mehr in ein Element deines Arrays ein, sondern eben in a.



  • ich denke ich habe es! so oder???

    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]); 
         printf("Koeffizienten fuer x^2 eingeben: ");
         scanf("%lf", &koeff_zahl[1]); 
         printf("Koeffizienten fuer x^1 eingeben: ");
         scanf("%lf", &koeff_zahl[2]); 
         printf("Koeffizienten fuer x^0 eingeben: ");
         scanf("%lf", &koeff_zahl[3]); 
    
         a=koeff_zahl[3]; 
         b=koeff_zahl[2]; 
         c=koeff_zahl[1]; 
         d=koeff_zahl[0];
    


  • HALLOOO bekomme ich keine hilfe mehr?



  • erst, wenn du dich als blizzarac einloggst.



  • ich nicht ER...sondern sind beide in der selben jahrgangsstufe...er hat mir diese seite empfohlen...weil wir nicht die selben codes haben dürfen...sorry.....


Anmelden zum Antworten