Frage zu Vraiablentüp



  • Danke, der hat geholfen Macro funktioniert ...:-)

    Wenn ich jetzt haben möchte, daß das Macro bei 2 Teilern schreibt. 29 ist priem

    kann ich dann schreiben

    if sice of teiler = 2
    cout .......



  • das ist ein makro:
    #define mytype (int)

    keine ahnung was du meinst wenn du "macro" schreibst. meinst du vielleicht "programm"?



  • not smart schrieb:

    das ist ein makro:
    #define mytype (int)

    keine ahnung was du meinst wenn du "macro" schreibst. meinst du vielleicht "programm"?

    jaja, ich meine kleines Progrämmchen ...



  • Ich wollte, daß das Progrämmchen mir bei Primzahl einen kleinen Satz ausgibt

    Die Bedingung ist. wenn im Container nur 2 Teiler enthalten sind, handelt es sich um eine Primzahl

    geht das so: if (onsize(teiler)=2)

    oder wie schreib ich das?



  • brak schrieb:

    oder wie schreib ich das?

    Wie wäre es wenn du einen std::vector nicht bloß blind verwendest, sondern im Zweifel auch die Dokumentation dazu anschaust. Dein Code kommt mir wie eine wilde (und schlechte) Mischung aus kopierten Internetcode vor.

    Hier gibt es z.B. eine Referenz. Schau dir "size" mal an, es steht sogar ein Beispiel dazu.

    Des weiteren solltest du dir globale Variablen abgewöhnen, sprechende Bezeichner (TS ist nicht sprechend) wählen und Variablen auch erst dort deklarieren wo du sie wirklich brauchst.



  • Mach ist, was heißt eigentlich std: Stunde schreibt man doch h?

    Wenn ich das so lese würde ich "if(int size(teiler)=2)" schreiben



  • Wie kommst du darauf, dass es Stunde heißen könnte? 😕

    ➡ standard

    Wenn ich das so lese würde ich "if(int size(teiler)=2)" schreiben

    Warum? Weil da int size(); in der Referenz steht? Das ist die Deklaration, kein Beispiel zur Benutzung. Aufrufen tust du das so: Teiler.size() .

    (BTW ascs Spekulation ist damit wohl bestätigt ... du solltest erstmal kleinere Brötchen backen und nur das verwenden, was du auch verstehst.)



  • brak == blurry333?



  • Brak, ich denke mit der Aufgabe, die du dir gestellt hast, hast du dich ein wenig übernommen.

    Fang von vorn an, lege erstmal einfache Variablen an, befülle die ( std::cin ), gib sie aus ( std::cout ) und lerne erstmal die Grundlagen. Und dann kannst du mit Schleifen und Container ( z.b. vector ) weiter machen.

    Aber alles zu seiner Zeit.

    Und wenn du es wirklich ernsthaft lernen willst, ist ein C++-Buch sinnvoll.



  • if (Teiler.size()=2)
    

    Da sagt er (der Comp) "Expression is not assignabel"

    was wohl meint, er weiß nicht was ich will? 😕



  • brak schrieb:

    if (Teiler.size()=2)
    

    Da sagt er Expression is not assignabel

    was wohl meint, er weiß nicht was ich will? 😕

    das bedeutet eher, du weisst nicht wie du schreiben musst was du willst. -> grundlagen...



  • Ja, aber es macht solchen Spaß, wenn man schon mal sowas hat:

    hab den Fehler gefunden ...
    bei if kommen 2 Gleichheitszeichen ..:-)



  • das ist aber:
    1. ineffizient
    2. schlecheter stil
    3. unleserlich

    dass du dinge wie "i=i+1", "Teiler.size()=2", "return (0);" usw schreibst, zeigt, dass du DRINGEND die grundlagen nachholen solltest.



  • Du hast ja recht, und ich will mich nicht verteidigen, aber Du kannst mir die Zeit nicht geben. So bleibt nur learning by doing an reading .... was einem zielgerichtetem Trial an Error entspricht ...

    ja aber seit return (0) beendet er das Programm, wie ich will und spult nicht endlos weiter ....



  • brak schrieb:

    ja aber seit return (0) beendet er das Programm, wie ich will und spult nicht endlos weiter ....

    Die Frage ist, warum Du nicht

    return ((0));
    

    schreibst.



  • brak schrieb:

    bei if kommen 2 Gleichheitszeichen ..:-)

    wie viele gleichheitszeichen reinkommen hat nichts im if usw zu tun.



  • tippfehler, sorry.

    kenner des braks schrieb:

    brak schrieb:

    bei if kommen 2 Gleichheitszeichen ..:-)

    wie viele gleichheitszeichen reinkommen hat nichts mit if usw zu tun.


Anmelden zum Antworten