operatoren
Results 1 to 8 of 8

Thread: operatoren

  1. #1

    Title
    Principal
    Join Date
    Mar 2002
    Posts
    32
    Thanks
    0
    Thanked 0 Times in 0 Posts

    operatoren

    Seawas!

    Bin wahrscheinlich zu blöd für dieses studium.
    häng nämlich schon beim einfachsten Beispiel.
    Kann mir bitte jemand sagen wie ich es schaffe, dass ich einen Operator einlesen kann.

    Sonst muss ich mir die Kugel geben oder meinen ganzen Verstand in Bier ersäufen. (wird wahrscheinlich nicht viel Arbeit)

  2. #2
    Wings-of-Glory's Avatar
    Title
    CO-Administrator
    Join Date
    Jan 2002
    Posts
    3,989
    Thanks
    338
    Thanked 498 Times in 262 Posts
    Wie meinst du das, "einen operator einlesen"?
    + , - , * meinst du damit sowas?

    du könntest sie als String oder char einlesen.

    wie lautet die angabe, dann kann ich mir besser vorstellen, was du meinst.
    Otto: Apes don't read philosophy. - Wanda: Yes they do, Otto, they just don't understand
    Beleidigungen sind Argumente jener, die über keine Argumente verfügen.
    «Signanz braucht keine Worte.» | «Signanz gibts nur im Traum.»


    Das neue MTB-Projekt (PO, Wiki, Mitschriften, Ausarbeitungen, Folien, ...) ist online
    http://mtb-projekt.at

  3. #3
    nix_is's Avatar
    Title
    Master
    Join Date
    Feb 2002
    Location
    Vienna
    Posts
    157
    Thanks
    0
    Thanked 0 Times in 0 Posts
    probier die ganze eingabe in einen string zu lesen und das ganze dann händisch zu zerlegen, d.h. zahlen rauszufiltern (eventuell in ein array speichern) und eben auch die operatoren und klammern (auch die in ein array oda sonstwohin) zu geben..

    kleines (pseudo)code-beispiel
    Code:
    String input;
    input = readWord();
    for (int x=0; x< input.length(); x++)
    {
    wenn input.charAt(i) ein operator is, dann speichere in array1, 
    wenn zahl dann speichere in array2 usw
    }
    wär mal ein anfang.. geht sicher effizienter.. aber fürn anfang tuts das auch..
    viel glück
    Last edited by nix_is; 21-04-2002 at 03:25.
    Give a man a fish and he'll eat it for the day.
    Teach him how to fish and he will eat for the rest of his life...

  4. #4

    Title
    Principal
    Join Date
    Mar 2002
    Posts
    32
    Thanks
    0
    Thanked 0 Times in 0 Posts

    danke

    danke für den Tip.
    Werds mal probieren

  5. #5
    SinusDiabolicus's Avatar
    Title
    Elite
    Join Date
    Jan 2002
    Location
    Wien
    Posts
    383
    Thanks
    0
    Thanked 0 Times in 0 Posts
    die zahlen in nem array zu speichern ist etwas umnständlich, du kannst sie auch direkt in zahlen umwandeln
    mit ParseToDouble zB in eine double zahl, geht mit anderen formaten aber auch, die syntax weiß ich jetzt nicht auswendig, wird aber nicht schwer sein die wo zu finden ;-)

  6. #6
    nix_is's Avatar
    Title
    Master
    Join Date
    Feb 2002
    Location
    Vienna
    Posts
    157
    Thanks
    0
    Thanked 0 Times in 0 Posts
    hab ich ja natürlich gemeint
    man muss dazwischen noch eine funktion einbaun die die zahlen natürlich nicht als ziffern in das array einfügt sondern gleich als ganze zahl
    d.h eine funktionschreiben die vorher die zahlen rausliest..
    Code:
    string zahl;
    wenn input.charAt(i) = ziffer/komma then zahl+= input.charAt(i) 
    solange bis entweder operator oder klammer kommt und zahl zuende ist, 
    dann den string zahl in eine double/float/int oda was acuh immer zahl umwandeln
     und in das array (double/float/int array) mit den zahlen einfügen
    letztendlich hast du 2 arrays, eines mit den zahlen, eines mit den operatoren.. dann kannst schön damit arbeiten..

    helped?
    Last edited by nix_is; 21-04-2002 at 20:21.
    Give a man a fish and he'll eat it for the day.
    Teach him how to fish and he will eat for the rest of his life...

  7. #7

    Title
    Principal
    Join Date
    Mar 2002
    Posts
    32
    Thanks
    0
    Thanked 0 Times in 0 Posts
    danke hab jetzt die Lösung für mein Problem schon gefunden:
    if(o.charAt(0) == '+')
    {
    z3 = ((z1*n2)+(z2*n1));
    n3 = (n1*n2);
    print ("Ergebnis: " +z3);
    print (" " +n3);

    //...
    } else
    if(o.charAt(0) == '-')
    {
    z3 = ((z1*n2)-(z2*n1));
    n3 = (n1*n2);
    print ("Ergebnis: " +z3);
    print (" " +n3);

    //...
    } else
    usw.


    Hab nur jetzt ein neues Problem:
    Gibt es eine Möglichkeit?
    Wenn ich zwei Unbekannte a,b habe und ich möchte, dass b den Wert von a übernimmt aber ich möchte die beiden nicht gleich setzten
    BSP:
    a=3
    b soll jetzt auch 3 übernehmen aber nicht b=a

    Ich hoffe ihr versteht was ich meine.

    Kann mir da vielleicht jemand helfen

  8. #8
    Bomple's Avatar
    Title
    Elite
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    333
    Thanks
    0
    Thanked 0 Times in 0 Posts
    das kommt drauf an ob a und b objekte oder gewöhnliche variablen sind...
    bei variablen wird einfach der wert übergeben, dh. es ist absolut egal ob du in deinem fall schreibst b=a oder b=3.
    bei objekten würden dann tatsächlich a und b auf dasselbe objekt verweisen, da solltest eine zuweisung der art
    b = a.clone()
    machen... damit hat dann b seine eigene kopie von a.

    hoffe das hat geholfen

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •