Beiträge von marX

    das dürfe für dich interessant sein:
    http://www.aboutai.net/DesktopDefault.aspx

    sehr gute/interessante seite über AI (mit neuronalen netzwerken):
    http://www.ai-junkie.com/ai-junkie.html

    auf dieser seite ist auch unter "competition" ein teil der beschreibt wie roboter die unabhängig und prinzipiell unkoordiniert voneinander arbeiten trotzdem ein (gemeinsames) intelligentes verhalten produzieren können -> das wäre mal ein guter ansatzpunkt für ein referat ohne viel vorwissen!

    ... denk immer dran: google is dein [bester] freund ;)

    mfg johannes

    sicher geht das:

    Code
    char *zeiger = "blablabla..."; // erstellt einen zeiger vom typ char der auf den 
    				// String "blablabla..." zeigt.
     
    printf("%s", *zeiger); // -> ausgabe "blablabla..."
    zeiger += 3;	 // Zeiger (Adresse) wird um 3 Zeichen erhöht
    printf("%s", *zeiger); // -> ausgabe "blabla..."



    in deinem bsp solltest du aber den zeiger buffer NICHT verändern, weil der auf ein Array zeigt, sondern einen neuen "Hilfzeiger" definieren!

    mfg

    Zitat von amok

    das ist eine ziemlich irrelevante stilfrage. es hat ja auch niemand behauptet
    dass return eine funktion waere. die klammerung hier ist zwar nicht noetig,
    man findet diesen stil aber oefters.

    na ja...es geht halt darum, dass ein anfänger das vielleicht falsch verstanden hat ... trotzdem ist dies (meiner meinung nach) nicht nur eine stielfrage!

    Zitat von amok

    entschuldige bitte den rueden ton, aber dein htl lehrer haette dir lieber beibringen sollen, dass der binaere operator ^ sowohl in c als auch in c++ eine bitweise exclusiv-or verknuepfung durchfuehrt und nichts ausmultipliziert oder umwandelt.

    schon ok....da hast du natürlich vollkommen recht !!!
    ich weiß auch nicht was mich geritten hat als ich das geschrieben habe ;)
    ...ich habe im letzten jahr so gut wie gar nicht mehr c/c++ programmiert und das '^'-symbol kann ja in einigen sprachen bzw. excel, ... schon als "hoch" verwendet werden!

    mfg

    also erst mal folgendes:
    du hast dein prog. mit "return(0);" beendet
    ...das funktionniert zwar, aber return ist KEINE funktion
    -> du solltest "return 0;" schreiben...ich habe in der htl den selben fehler gemacht worauf mich dann mein info-prof aufmerksam gemacht hat...

    Zitat von ravaged

    Hehe, sorry aber du hast nicht verstanden worauf ich hinauswollte.
    In dem Buch steht diese Übung sehr weit vorne. Es ist an dieser Stelle noch gar nicht erklärt worden wie man eine Wurzel zieht.
    Daher will ich sqrt() nicht benutzen :)

    Es muss einen anderen weg geben. (a*a + b*b)^0.5 ungefähr :)

    NEIN in c/c++ funktioniert das logischerweise nicht...
    in c wird zb. "a^2" in "a*a" umgewandelt...also einfach ausmultipliziert
    ...wie soll der compiler das aber mit 0.5 machen ?
    -> 2 möglichkeiten:
    1. du verwendest sqrt (egal ob's in dem buch schon erklärt wurde oder nich)
    2. du schreibst dir selbst eine wurzel(a, b) fkt.

    mfg

    jo .. aber du musst ja den string eigentlich gar nicht kopieren -> zeiger würde auch reichen!

    anfang->szInput = szTemp;

    -> ist natürlich gefährlich, wenn der string nur temporär (zb. in einer fkt.) am stack steht und später wieder überschriben wird...aber das kann dir bei argv ja nicht passieren !

    mfg marX

    also ich habe mal ne funktion programmiert um ein windows programm (konsolenprogramm .... gcc und so um genau zu sein) zu starten! man kann auch (optional) die ausgabe in einen puffer schreiben lassen!
    -> ich verwende aber hier (und das würde ich dir auch empfehlen) funktionen der windows-api (die fkt. system spinnt glaub ich teilweise....)

    -> das aufrufende programm (also dein programm) wartet allerdings bis das aufgerufene programm (zb. "test.exe") beendet wird! -> solltest du das nicht wollen musst du halt die zeile:

    Code
    WaitForSingleObject(procInfo.hProcess, INFINITE);


    ändern!!

    mfg marX

    Zitat von Georg Kraml

    Ich bilde mir ein, dass meine Lösung halt ein bisschen allgemeiner und portabler ist. :)

    stimmt, aber ich glaube halt, dass ein c-anfänger mit einer kurzen (einfachen) lösung besser bedient ist!

    Zitat von Georg Kraml


    Abgesehen davon funktioniert deine Lösung einfach nicht. Hint: der erste Fehler ist in Zeile 1.

    irrtum sie funktioniert perfekt

    Zitat von Georg Kraml


    Und für das "(val>>--shift)&1" gehörst du offen gesagt grün und blau gedroschen, sofern das nicht ironisch gemeint war.

    na ja, du kannst dein glück gerne mal versuchen ... wird für dich aber nicht lustig enden ;)
    nein im ernst: wieso denn?? ok man hätte noch klammern setzen können, die reihenfolge ist aber nach posix geregelt und somit klar!

    wegen dem beschriebenen fehler:
    ok das ist natürlich blöd, jedoch ist hier auch der admin schuld wenn er nicht regelmäßig checkt, ob noch genügend platz auf der platte ist ....
    man kann als programmierer nie alle eventualitäten vorhersehen ...

    mfg marX

    na ja ein saubrer programmierstil ist ja schon wichtig ... ich bin z.B. bei der klammernsetzung etwas übergenau (weil ich durch zu wenig klammern schon einige dumme fehler bekam), aber bei einer floatvariable den zahlenwert explizit als solchen zu deklarieren (durch '.0') macht eigentlich auch keinen sinn oder ?!!
    -> man behindert sich halt nur mehr selbst ....

    mfg marX

    Zitat von buechsengustel

    zb überprüfst du gewissenhaft bei einer funktion den rückgabewert darauf, ob ein fehler aufgetreten ist. ist ein fehler aufgetreten, gibst du mit fprintf(stderr, "blabla"); eine fehlermeldung aus.
    nun ist es aber so, dass auch dieses fprintf einen rückgabewert liefert. allerdings ist es kaum sinnvoll, ihn zu überprüfen und im fehlerfall irgendwas zu machen, weil wenn das schreiben auf stderr nicht funktioniert, was will man dann noch groß machen.

    nun predigens in sysprog eben, dass man da dann auf (void) casten soll, um zu zeigen, dass man sich bewusst ist, dass da ein rückgabewert ist, man ihn aber absichtlich ignoriert.

    na ja...ich programmiere nun schon seit ca. 6 jahren c/c++ und hatte noch nie das bedürfniss (durch einen void-cast) zu zeigen, dass ich einen rückgabewert absichtlich ignoriere ;)

    da würde ich es sogar gerne zu einer diskussion mit dem prof. kommen lassen :)

    mfg marX

    Zitat von buechsengustel


    edit: außerdem, ich denk, das macht schon sinn, manchmal auf (void) zu casten; wenn ich was hab
    if ( machIrgendwas() liefert einen fehler)
    (void) gibFehlermeldungAus();

    weil sonst werd ich da ja nie fertig. jaja, ich weiß, das hab ich aus dem sysprog buch abgeschaut, bin ich aber spitzfindig, aber hier wird eben genau das diskutiert.

    hää ... das check ich jetzt nicht ;)
    -> ich hab noch niemals jemanden eine funktion nach void casten gesehen und ich wüsste auch nicht für was das gut sein sollte, außer um den code länger und unübersichtlicher zu machen!

    an den bösen wolf:
    warum einfach wenns auch kompliziert geht ?!!

    Code
    void print_32bit(long val)
    {
       int shift = 32;
    
    
       while (shift)
          printf("%d", (val>>--shift)&1);
    }

    mfg marX

    Zitat von Zarathustra

    Wie liest man bei WIN2000 bzw. WINXP aus dem Speicherbereich (0xf000:0xffff) ohne Zugriffsverletzung? Das ist nämlich der Bereich, in dem die Serien Nummer liegt.

    Am feinsten wär eine Lösung auf C basierend ohne MFC Routinen

    Also Ohne Windows-API geht das SICHER nicht, da der leseversuch auf ein von deinem programm nicht allokierter speicher logischerweise immer in einer zugriffsverletzung endet ;)!!

    ze_artfuldodger: also ich habe ein programm zu hause das bei intel-cpu's die serial ausliest !! 2. hats du schon mal davon gehört, dass es auch netzwerkkarten gibt bei denen man die mac-adresse ändern kann ?? ;)

    mein tipp: google ;) (dess programmierers bester freund :))

    mfg marX

    na also ich kann dir nur folgendes empfehlen: learning by doing
    hat für mich immer bestens funktioniert (habe in der htl nur noch sehr wenig dazugelernt)

    -> einfach ein paar beispiele aus'm netz oder so saugen und anschauen, verändern, nachprogrammieren -> wenn du wirklich schnell verstehst dann ist das sicher die beste methode !!

    mfg marX

    *gg* na er kann zwar den post überschreiben, aber das mail kann er nicht mehr löschen:

    ...also ich glaube das untermauert meine these ;)

    mfg marX

    also wenn ich mir jetzt deinen code mal kurz anschaue bemerke ich folgendes:

    1. "{" ... "}" blöcke OHNE if, for oder so was
    2.

    Code
    int delay =1;
    if (delay == 1)					  
    { Thread.sleep(800); }


    ergibt für mich auch nicht wirklich viel sinn!!
    solche fehler kommen typischerweise vom zusammenkopieren von code-fragmenten, bzw. wenn jemand wirklich absolut keine ahnung hat, dann verstehe ich jedoch folgendes nicht:

    Code
    NumberFormat fmt = NumberFormat.getInstance(); 
    bzw.
    throws InterruptedException

    -> also da muss ich johnfoo recht geben: manche menschen sind (auch wenn sie es nicht wahrhaben wollen) wirklich leicht zu durchschauen ;)!

    um trotzdem noch kurz auf deine frage einzugehen:
    (7+15+30)*12*sleep(800) ergibt sage und schreibe über 8 minuten!
    und wenn dann jemand natürlich nicht weiß (weil das programm nicht selbst geschrieben wurde ?!!!!), dass system.out.println in die konsole schreibt denkt sich dieser logischerweise, mit der zeit: "hm ... warum beendet das prog nicht ?!! ... habe ich da eine endlosschleife ??" -> eigentlich müsste dieser aber wissen, dass mehere 100erte ausgaben (mit je einer verzögerung von 800ms) doch eine zeit brauchen (zumindest wenn er wüsste, was er SELBST programmiert hat!)!!

    @Citizen X: nein so war/ist das NICHT gemeint, aber ich hatte schon zu viel mit solchen code-klauern zu tun, die zu faul sind selbst nachzudenken und dies ist hier so was von offensichtlich ;)....nimms mir aber bitte nich böse :)

    hal: ich würde dich sofort einstellen :D

    The_1: da hast du vollkommen recht;) wenn mich jemand nett bittet und ich sehe, dass er wirklich hilfe braucht, aber seine mittel ausgeschöpft hat, wäre ich sicher der letzte der im diese verwehren würde!!! in diesem fall ist es aber für mich eindeutig (egal was er dazu sagt), dass er keine ahnung von dem code (den er angeblich selbst geschrieben hat) hat!

    mfg marX

    Zitat von hal

    Naja, das passiert vor allem, wenn man ungewöhnliche Technologien miteinander kombiniert. zB DVB-S und FireWire unter Mac OS X, so wie in meinem letzten großen Projekt.

    ok .. wenn man natürlich selbst sehr komplexe schnittstellen definiert und diese noch mit anderen verknüpft gibt's sicher nicht mehr viele, die da den vollen durchblick haben ;)
    ich glaube aber, dass ein echter checker der unter macOS viel mit firewire arbeitet (programmiert) sich da in ein paar tagen genügend eingelesen hat!

    na ja wie auch immer :)

    mfg marX

    Zitat von JohnFoo

    In diesem Forum wird den Leuten eh schon bei Fragen geholfen, die in Newsgroups wie comp.lang.java.help ignoriert werden würde.
    Manchmal hat man einfach den Eindruck, dass der Poster bissl zu gemütlich lebt, um sich selber mit der Aufgabe zu beschäftigen ..

    also um jetzt mal ganz böse zu sein:
    ich glaub nicht, dass er sich auch nur ein bisschen mit programmieren auskennt!! -> er schmeisst (kopiert) nur java codes mit englischen kommentaren die er eh nicht ganz versteht) hinein und hofft jemand nimmt ihm die hausaufgabe ab, weil er zu faul ist um sich selbst hineinzuarbeiten!

    tut mir wirklich leid, dass ich so böse sein muss (eigentlich nicht *gg*) aber es hat mich schon immer geärgert, wenn jemand absolut keine ahnung hat, zu faul ist um selbst nachzudenken, sich die codes von überall zu sammenklaut und dann noch nicht mal selbst die kleinen ungereimtheiten der verschidenen code-teile abändern will!!

    hal: also 1-2 monate ist (für die ganze welt) schon etwas viel ;) -> es gibt schon ne ganze menge brutale pc-junkies auf der erde ;)!
    von was für einem programmierproblem sprechen wir überhaupt ??? :)

    mfg marX

    ps: noch was für "java-appi": wie wärs wenn du wenigstens das code-tag ([ code] ... [ /code])verwenden würdest um "deine" codes etwas übersichtlicher zu machen (vor allem wengen der kommentare!)!!

    Zitat von hal

    Ich glaub du überschätzt die HTL-Ausbildung.

    stimmt schon ;)
    bei uns konnten die meisten in der 5. klasse noch nicht wirklich (gut) programmieren...


    Zitat von hal

    hab die restliche Zeit bis zum Fertigstellungsdatum im Mai damit verbracht, den anderen zu erklären, was ich da programmiert hab :D

    das kenn ich gut ;)


    Zitat von hal

    jaja, das waren noch Zeiten :D

    wem sagst du das ?!!!! hehe

    JGoblin: war nicht ernst gemeint ;) i wollte deine programmierkünste natürlich nicht in frage stellen ! :D

    mfg marX

    Zitat von JGoblin

    hab als Diplomarbeit an der HTL einen P2P chat programmiert.


    ist als htl-diplomarbeit aber schon recht simpel [Blockierte Grafik: http://hades.gothic.at/iforum/images/smilies/biggrin.gif]!
    ich habe (zu zweit) eine grafische-entwicklungsumgebung für den 68000 prozessor von motorolla mit eigenem simulator und integrierem gcc+einem speziellen assembler geschrieben !

    (nicht böse nehmen [Blockierte Grafik: http://hades.gothic.at/iforum/images/smilies/wink.gif][Blockierte Grafik: http://hades.gothic.at/iforum/images/smilies/wink.gif])

    mfg marX

    also ich kann hier nur allen empfehlen eine firewall zu installieren!
    -> vor kurzem "schlich" sich eine abart des blaster.E wurms über eine sicherheitslücke im dcom protokoll bei mir ein (Norton AV hatt ihn zum glück sofort entdeckt und gekillt ....)

    daraufhin habe ich mich (weil mich exloits, etc. prinzipiell interessieren) genäuer über das sicherheitsloch informiert (http://www.microsoft.com/technet/securi…in/MS03-039.asp)
    und fand heraus, dass diese sicherheitslücke (wie viele andere) sehr verbreitet ist und praktisch auf jedem pc mit windows 2000/XP (sogar mit halbneuen sp's) vorhanden ist!!

    -> da hilft nur mehr eine firewall
    -> wie oben schon geschrieben wurde kennt sogar AV oft trojaner nicht !!

    mfg marX