komplexe for schleife

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

  • komplexe for schleife

    hallo, ich bräuchte die hilfe von nem guten mathematiker. folgende zahlen möchte ich in einer for schleife haben:
    64,32,96,0,128
    die folge (oder reihe?? das thema fande ich nie gut) sieht demzufolge so aus:
    64-32+64-96+128
    allerdings tue ich mir schwer das als for schleife auszudrücken.
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • ehhmmmm.....ich verstehe deine frage nicht so ganz.......
    soll anstatt jedes mal +1 zuerst -32 dann +64 dann -96 dann +128 sein?
    vielleicht kann ich helfen wenn ichs verstehe.....

    Dragoon
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!
  • soweit ich die folge verstanden hab, lautet die bildungsvorschrift für f(x):
    a(x)=(-1)^x*32(x-1)

    die summenfolge s(x)=a(1)+a(2)+a(3)+...+a(x-1)+a(x)

    und als folgeglieder ergibt sich f(x)=64+s(x)

    als skript in gml sieht das dann wohl so aus:

    GML-Quellcode

    1. y=0;
    2. for(i=1, i<=argument0, i+=1)
    3. {
    4. y=y+(-1)^i*32*(i-1);
    5. }
    6. y=y+64;
    7. return(y);


    Edit: du solltest aber ne andere füllvariable als y benutzen... ich hab das nur genommen, weil f(x)=y... ich vermute nämlich, dass dann einige merkwürzige sachen mit der ordinate deines objekts gemacht werden....

    Edit: Ich merk gerade, dass da die ganze Zeit über ein Fehler im Script war, da stand "î" statt "^i"...

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von CAS ()

  • also ich blick hier auch net durch... werd ma etwas konkreter bitte. dann kann dir sicher jemand helfen. das sind einfach nur zahlen und keiner weiss, was du damit anfangen willst.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • ganau das. (bezieht sich auf draggons beitrag)
    normal sieht eine for schleife ja so aus:

    GML-Quellcode

    1. for (i=0 i<=8 i+=1)
    2. {
    3. (...)
    4. }
    die liefert diese zahlen: 0,1,2,3,4,5,6,7,8.


    ich möchte bzw. brauche nun aber diese zahlen (in genau dieser reihenfolge): 64,32,96,0,128. der anfang müsste so aussehen:

    GML-Quellcode

    1. for (i=64 i<=128 //???)
    die hahl die mit i addiert wird mus also -32 anfangen und immer +a*-2 genommen werden aber wie geht das als code? (ich glaube a heist der multiplikator bei reihen und folgen).

    edit:
    warum argument0? das mit den argumenen habe ich sowieso noch nciht ganz verstanden (obwohl ich seit 3 jahren den gm benutze ;( )
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Nobody-86 ()

  • Hi!
    Wenn ich das richtig verstanden hab, willst du die zahlen 64, 32, 96, 0, 128 nacheinander als indexwert einer for-schleife haben. das geht am Einfachsten, wenn du die Zahlen in einem Array definierst. Im create-Event also:

    GML-Quellcode

    1. array[0]=64
    2. array[1]=32
    3. array[2]=96
    4. array[3]=0
    5. array[4]=128


    und in der for-Schleife:

    GML-Quellcode

    1. for(i=0;i<4;i+=1){
    2. n=array[i]
    3. }


    dann machst du deine Berechnungen mit n. Hoffentlich hab ich das alles rinchtig verstanden. Verbessere mich einfach.
    Hoffentlich konnte ich dir helfen.

    Markl3000


    Edit:
    Wegen dem mit den Argumenten:
    du kannst, wenn du ein Script hast, argumente dazu übergeben. Wenn das Script script0 heißt , kannst du es mit

    GML-Quellcode

    1. script0(100)
    aufrufen. Im script wird dann die variable argument0 (weil es das erste argument ist) auf 100 gesetzt. so kannst du ein script für verschiedene Dinge verwenden.

    Markl3000

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Markl3000 ()

  • ich glaube(naja.....lieber glauben als hoffen), dass es keine lösung als for-schleife gibt...probiers sonst mit arrays oder mit einer do-schleife. passiert in mathe häuffig...entweder muss man fallunterscheidungen machen und hat am schluss mehrere lösungen oder man hat am schluss gar keine......wie ich das hasse........"shit happens"

    Dragoon

    EDIT:
    Mission: Fehler beseitigen
    Status: Erfolgreich abgeschlossen
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Dragoon ()