!!!Achtung!!!Actung!!! wer will c konig werden!!!!



  • z.b.

    while(i<n)
    {
    (*c+k)=(*a+i);
    ++i;
    ++k;
    }
    error C2059: syntax error : 'while'

    nun solage i<k richtig ist wiederhole, okey und wo ist der sintagtische fehler??
    ich mus nicht schreiben while((i<n)==1) da das das gleiche wie das obige ist.



  • Eventuell schaust du mal ne Zeile vorher?



  • und das swap ???
    warning C4013: 'Swap' undefined; assuming extern returning int
    Swap((*pArray+j),(*pArray+(j+1)));
    error C2371: 'Swap' : redefinition; different basic types
    void Swap(int *Num1, int *Num2)
    {
    //Dilosh metablhton
    int Temp;
    //
    Temp=0;

    //Kurio Programma
    Temp=*Num1;
    *Num1=*Num2;
    *Num2=Temp;
    }



  • das heist doch
    Swap((*pArray+j),(*pArray+(j+1)));
    wenn ich so arbeite wie der compiler es dolmetscht ich mache vom ende eliptische bewegungen nach vorne

    also

    ; bedeutet befehl
    () zuerst mus ich das berchne
    () zuerst die inere klamer
    1 ne zahl
    +1 addiere die zahl 1
    j+1 adiere die zahle 1 zu j
    +(j+1) adiere das ganze zu
    pArray+(j+1)) adier das j+1 zum pArray wo pArray ein pointer ist so manipuliere ichdie adress
    *pArray+(j+1)) wo bei jetzt nach der adition der adrese die zahl aufgerufen wird das der pArray auf der possition hat.

    das kleiche auch fur das andere also
    also ist swap(eine zahl,eine zahl) aber er übergibt keine adresse wie mache ich das??? wenn ich dafor & tuhe also (Swap(&(*pArray+j),&(*pArray+(j+1)));)bekomme ich mehr fehler
    also übergebe ich die zahl an swap da isz der fehler aber wie behebe ich ihn



  • Man hey junix deine hilfe ist die beste überhaupt der man bekommt kleine tipps aber du veretst nicht die lössung deshalb bekommst du von mir 👍 👍 👍 👍 hoch. Schade das du weg bist 😞



  • schau nochmals über die klammernpaarung...



  • cheff kommt nichts ich schreibe Swap((pArray+j),(pArray+(j+1))); ber compiler sagt falsch



  • Du hast in swap, zwei Pointer als Parameter du übergibst als Argumente aber zwei Integer



  • wiso pArray ist doch shon ein zeiger er übergibt also die adresse(p.s. ich tue vor ein pointer immer ein pdammit ich weis das es ein pointer ist wie z.b. pArray ist ein pointer auf dem array).

    Swap((pArray+j),(pArray+(j+1)));=>ubergibt die adrese j und adrrese j+1



  • Das schon, aber nicht das Posting weiter oben da steht ein * davor.

    Swap (pArray+j,pArray+j+1);
    sollte aber funktionieren wenn pArray ein Pointer ist.



  • Und noch eins wiso funktionier eigentlich nicht (*c+k)=(*a+i) das aber funktionier das (c+k)=(a+i)!!! wo doch es das gleich ist



  • tuts aber immer noch nicht muss ich swap zur header datei definieren oder in der c datei ich habe sie in der Header richtig so oder??



  • gibt es vileicht eine funktion in einer von compiler bereitgestelten funktion die swap heist da redifination irgentwo in der fehlermeldung steht???



  • ah! wenn man über fehlermeldungen nachdenkt, kommt man zur richtigen
    lösung!



  • nachdenkt

    🤡



  • Nach überlegung bin ich zu folgendes kekommen:
    a)swap wirt von einer anderen headfile genutzt
    oder
    b)ich muss swap nicht in der header datei einbinden sondern in der .c datei
    oder
    c)da pArray ein zeiger ist und ich es in Ar1 kopiere ist ar1 ein zeiger auf ein zeiger. Aber da bin ich mir nicht sicher was soll ich den macher???

    bitter um hilfe



  • Master User schrieb:

    [...]a)swap wirt [...]

    Wo ist denn das Restaurant "swap"? Da würd ich gern mal vorbei schauen beim Swap Wirt....

    Master User schrieb:

    Aber da bin ich mir nicht sicher was soll ich den macher???

    Statt der "Wer wird millionär"-Fragen zu konzipieren dich mal darauf konzentrieren zu testen ob eine deiner Theorien funktioniert? Oder vielleicht einfach mal die Sprache "C" lernen?... das wärn mal so meine beiden primären Lösungsvorschläge....

    -junix



  • Master User schrieb:

    Und noch eins wiso funktionier eigentlich nicht (*c+k)=(*a+i) das aber funktionier das (c+k)=(a+i)!!! wo doch es das gleich ist

    Falsch, das ist eben nicht das gleiche! Schau dir mal die Reihenfolge der Operatoren an. Das ist wie in der Mathematik: Punkt vor Strich 😉



  • habs jetzt (*a+i) mach einfach und mathematisch ausgedruckt A+J=5 wenn A=3 und I=2 ist 🙂 . Man nachdenken tut wirklich gut!



  • Ich glaube swap macht fehler weil ich sie am fahlschen ord deklariert habe wo solte ich sie deklarieren in der Header oder source file. Kann einer ein beisbiel posten???


Anmelden zum Antworten