• Anmelden
  • Registrieren
  • Suche
  1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. Plantschkuh!

Beiträge von Plantschkuh!

  • das ist DER thread für alles

    • Plantschkuh!
    • 20. Februar 2007 um 10:31
    Zitat von Wolfibolfi

    Villacher Fasching is was für Leute, die das restliche Jahr zum Lachen in den Keller gehn.


    Mhm, "SCNR"-User und sowas.

  • die binäre null :/

    • Plantschkuh!
    • 8. Februar 2007 um 07:50
    Zitat von schläfer

    ist ja egal wie der code aussieht, sollte nur zum testen sein ...


    Je klarer der Code, umso leichter siehst du deine Fehler. Und die Leute, die du bittest, deinen Code zu debuggen, tun es lieber. Außerdem ist es einfach nur strange, grundlos die Form *(base + offset) zu verwenden.

    Zitat

    und wo greif ich bitte auf das 3 element zu?


    Im Ausdruck *(temp + 3) bzw. temp[3].

    Zitat

    wieso sollte das ein problem sein?


    Weil temp deklariert ist als vom typ char [3], deswegen sind genau die Indizes 0, 1, 2 zulässig. 3 nicht mehr, sonst hätte das Feld ja vier Elemente.

    Zitat

    das 3 element ist aber trotzdem bestandteil des feldes


    Nein. (Diskutieren sinnlos, ich habe recht. Akzeptiers oder werde ignoriert.)

    Zitat

    nur ist die frage wieso es sich der eine compiler erlaubt und der andere net... wobei eigentlich will ich nur wissen was den STANDARD entspricht, also ob mein compiler richtig arbeitet oder der meines kumpels.


    Der Standard stellt dem Compiler explizit frei, in solchen Fällen beliebiges zu tun. (Genauer: Code zu generieren, der beliebiges tut.) Abstürze zum Beispiel sind auch erlaubt. Oder das Löschen aller deiner Daten.

    Zitat

    denn ich hab auch noch folgendes problem:

    char chf[]={'A','B','C'};

    hier habe ich z.b. auch keine binäre null, d.h. es wird solange ausgegeben, bis mal zufällig im speicher ne null ist...bei meinem kumpel gehts natürlich wieder :thinking_face:

    ich muss da folgendes schreiben:

    char chf[]={'A', 'B', 'C', '\0'};


    welcher compiler arbeitet hier nun richtig?

    Alles anzeigen


    Beide arbeiten wieder richtig. char chf[]={'A','B','C'} ist kein C-String, wenn du versuchst, ihn als C-String zu verwenden, machst du als Programmierer den Fehler. Der Compiler hat wiederum das Recht, zu tun, was er will.

  • die binäre null :/

    • Plantschkuh!
    • 7. Februar 2007 um 23:52

    Das könnte man hübscher, standardkonformer, idiomatischer, besser und überhaupt viel wohlriechender auch so formulieren:

    Code
    #include <iostream>
    
    
    using namespace std; // mag ich persönlich nicht so, aber was solls
    
    
    int main()
    {
        char feld[] = "ABC"; 
        char temp[3];
    
    
        for (int i = 0; i < 3; i++) 
            temp[i] = feld[i];
        for (int i2 = 0; i2 < 2; i2++) 
            feld[i2] = temp[i2 + 1];
        feld[i2] = temp[0];
    
    
        cout << feld[3] << " --- " << feld << endl;
        cout << temp[3] << " --- " << temp << endl;
    }
    Alles anzeigen

    Ohne lustige und höchst unnötige und nein, ganz bestimmt nicht "schnellere" oder "effizientere", weil nämlich ganz äquivalente, Pointerarithmetik sieht man auch gleich, daß du auf Element 3 des dreielementigen Arrays temp zuzugreifen versuchst, dessen Elemente aber 0, 1, 2 heißen. Was mit solchen illegalen Zugriffen passiert, kann sich deine Kombination aus Hardware/Betriebssystem/Compiler beliebig aussuchen. Insofern kein Wunder, daß auf einer anderen Plattform was anderes passiert.

  • Internet - Megabyte pro Monat für Skype-Vieltelefonierer

    • Plantschkuh!
    • 6. Februar 2007 um 16:06
    Zitat von http://www.skype.com/help/faq/technical.html

    How much bandwidth does Skype use while I’m in a call?

    Skype automatically selects the best codec depending on the connection between yourself and the person you are calling. On average, Skype uses between 3-16 kilobytes/sec depending on bandwidth available for other party, network conditions in between, callers CPU performance, etc.


    Hmm. Nehmen wir an, wir telefonieren ca. eine Stunde pro Tag, das macht 100000 Sekunden pro Monat. Im breitesten Fall kommen wir also auf 1600000 KB pro Monat, das sind ca. 1.5 GB. In der Praxis wird der Wert wohl nicht so hoch sein, und überhaupt sollten 1.5 GB heutzutage bei jedem Internetanschluss problemlos drin sein.

  • polnische Zeichen

    • Plantschkuh!
    • 5. Februar 2007 um 19:49

    Du mußt nicht unbedingt mit der Sprache herumtun; wenn du nur ein paar Sätze hast, kannst du die polnischen Zeichen über Extrabefehle eingeben. Siehe z.B. http://www.terminally-incoherent.com/blog/latex-reference/ unten.

  • Klimaschutz 1.feb07 19h55 - 20h00

    • Plantschkuh!
    • 28. Januar 2007 um 12:37

    Alle Verbraucher für fünf Minuten abdrehen, um Strom zu sparen... das wird eine lustige Leistungsspitze, wenn um 20 Uhr wieder alle alles aufdrehen. Der Effekt für die Umwelt ist wohl null bis negativ.

  • Die besten Österreichischen Musiker

    • Plantschkuh!
    • 24. Januar 2007 um 13:28

    Gut... Hmm, es gibt ein paar gute Bandnamen. Wie "Speibsackerl" zum Beispiel. Oder "The Ingeborg Bachmann Experience".

  • Studentenkredit

    • Plantschkuh!
    • 23. Januar 2007 um 20:25
    Zitat von reddi

    i[ot: imho sollte man aber auch in der lage sein, sich gezielter auszudrücken. ich kritisiere auch nicht jede formulierungsschwäche/rechtschreibfehler/... von dir..]


    Sorry, ich wollte dir nicht auf den Schlips treten. Ich hab halt manchmal einen polemischen Stil (siehe unten). Inhaltlich ist meine Kritik aber rübergekommen, ich hoffe ohne größere Beleidigungen.

    Zitat von vertigo

    afaik war diese belehrung sehr lehrreich für mich! :ausheck:


    :)

    Zitat

    (SCNR)


    Ah, eine Abkürzung, die mich noch mehr nervt! :) Mal ehrlich, die stupiden Gepflogenheiten des de-Usenets können ruhig dort bleiben. Kann schon sein, daß die Piefkes zum Lachen in den Keller müssen, aber ist es in Österreich wirklich so schlimm, sich für einen kleinen Scherz nicht zu genieren, sondern dazu zu stehen, daß man ihn gemacht hat?

  • Studentenkredit

    • Plantschkuh!
    • 23. Januar 2007 um 11:30
    Zitat von reddi

    imho sinds bald 3.25% zinsen.


    Also das ist jetzt total off-topic, aber es nervt, daß immer mehr Leute nicht verstehen, was sie selber schreiben... IMHO = in my humble opinion. Ist es deine Meinung, daß sie bald mehr Zinsen zahlen? Oder glaubst du es vielleicht eher zu wissen? Dann AFAIK = as far as I know (zum Beispiel)


    Plantschkuh!, bringing you nutzlose Belehrungen since 1982

  • Die verrückten Plakatwände

    • Plantschkuh!
    • 17. Januar 2007 um 17:08
    Zitat von Almlieschen

    aber eine werbestrategie von mehreren unternehmen? das wäre doch sehr ungewöhnlich.........


    Naja, vielleicht hat ihnen die Gewista angeboten, das mal zu probieren. Aufmerksamkeit scheints ja zu erregen, aber obs hilft... Es gibt ja die Binsenweisheit, es gäbe keine negative Werbung, aber das stimmt nicht: Seit die )§)=)%&")($% Familie Putz aufgetaucht ist, hat man mich nicht mehr in der Nähe eines Lutz gesehen.

  • Blogsite

    • Plantschkuh!
    • 8. Januar 2007 um 23:45

    Ich verwend http://my.opera.com/ , das tut so ziemlich die Sachen, die ich mir erwarte. Und bietet 300 MB Speicherplatz statt den 50 (oder so) von twoday.

  • Neue Programmiersprache D

    • Plantschkuh!
    • 4. Januar 2007 um 17:34
    Zitat von klausi

    http://de.wikipedia.org/wiki/Zeiger_%2…le_und_Gefahren


    Da Referenzen auch nur Zeiger ohne Sterndeln sind, treffen fast alle diese Punkte auch auf Referenzen zu.

    Zitat

    Für mich persönlich ist es einfach komplett unverständlich. Ich will mich beim Programmieren nicht dauernd mit Nachdenken über den richtigen Variablenzugriff abgeben.


    Fair enough, manchmal steht die elegante Formulierung der Lösung des Problems im Vordergrund; manchmal gehts um jedes letzte Stücki Performance bzw. um direkte Speicherzugriffe (wenn man Embedded Systems oder Hardwaretreiber oder Betriebssysteme schreibt), dann muß man wohl oder übel in einem konkreteren Maschinenmodell denken, inklusive Unterscheidung zwischen Stack und Heap (automatischen bzw. dynamischen Variablen).

    Außerdem gibts die begründete Meinung, daß ein Programmierer (wir sind ja bitte nicht irgendwer, sondern theoretisch hochbezahlte höchstqualifizierte Denker, auch wenn sich viele für 08/15-PHP-SQL-Zeug hergeben) gefälligst wissen soll, was er tut; über Details wie Variablenzugriffe nachdenken gehört dazu. Mußt du auch in Java machen, jedesmal wenn du eine Zuweisung schreibst; kopierst du jetzt eine Referenz oder doch Daten, und ist das das, was du wirklich willst? Du könntest jetzt natürlich sagen ja, darüber muß man zwar eigentlich nachdenken, aber irgendwann hat man es im Blut und man schreibt automatisch die richtige Variante -- bingo, wenn es bei Referenzen so ist, ist es bei Zeigern auch so.

    Zitat

    Einheitliche Referenzen immer und überall sind z.B. in Java sehr komfortabel.


    Einheitliche Referenzen immer und überall sind in Smalltalk komfortabel und dementsprechend langsam; in Java sind einheitliche Referenzen nicht vorhanden. In anderen Worten: Erklär einem Anfänger, der sich zum Glück nicht mit Zeigern plagen muß, den Unterschied zwischen int und Integer.

  • \longtable autom. zeilenumbruch?

    • Plantschkuh!
    • 4. Januar 2007 um 15:52
    Zitat von glubschi

    funktinoiert auch soweit, nur dass er die seitenbreite völlig ignoriert und einfach rausschreibt, anstatt den text automatisch umzubrechen..


    Statt mit 'l' links ausgerichteten Text zu verlangen, mußt du mit p{spaltenbreite} verlangen, daß Absätze (paragraph) gesetzt werden. D.h. ändere die Zeile

    Code
    \begin{longtable}[ht]{ll}


    auf sowas wie

    Code
    \begin{longtable}[ht]{p{0.45\textwidth} p{0.45\textwidth}}

    Mit den Breiten kannst du natürlich spielen.

    (Noch ein Tip zum um-Hilfe-fragen: Es hat in diesem Fall zwar nur ein paar sehr wenige Zeilen gebraucht, dein Codefragment zu einem vollständigen kompilierbaren Latex-Dokument zu machen, aber es wäre nett gewesen, wenn du das übernommen hättest; d.h. an den Anfang ein \documentclass, \usepackages etc., damit der dir helfen wollende das Ganze kopieren und gleich testen kann, ohne selber mit sowas rumtun zu müssen. Wenn man mir Code vorsetzt, den ich zuerst umständlich kompilierbar machen muß, bin ich persönlich, und ich nehme an viele andere auch, gleich etwas weniger bereit zu helfen.)

  • Neue Programmiersprache D

    • Plantschkuh!
    • 4. Januar 2007 um 15:40
    Zitat von klausi

    Ich gebe zu, mir fehlt da der genaue Einblick, aber wozu dazwischen unterscheiden?


    "Hardwarenahe Programmierung" ist ein schwammiger Begriff, aber er kann zum Beispiel bedeuten, daß man an ganz konkrete fixe Speicheradressen zugreifen muß, inklusive Adressarithmetik (daher Pointer, siehe gleich), und daß die Befehle und Datentypen der Hochsprache irgendwie möglichst direkt auf die zugrundeliegende Maschine abgebildet werden (daher auch primitive Datentypen, die nicht über Pointer oder Referenzen referenziert werden).

    Jetzt kann man in C-Syntax sowas schreiben (Skizze):

    Code
    #define MEIN_MEMORY_MAPPED_INPUTREGISTER ((unsigned char *) 0x283A82FE) /* siehe Prozessor-Doku */
    #define MEIN_MEMORY_MAPPED_OUTPUTREGISTER ((unsigned int *) 0x8D92A9CA)
    #define MEINE_DINGSBUMSTABELLE ((unsigned int *) 0x0000ABCD)
    
    
    unsigned char das_will_ich_wissen = *MEIN_MEMORY_MAPPED_INPUTREGISTER;
    unsigned int *da_will_ich_hinschreiben;
    *da_will_ich_hinschreiben = das_will_ich_wissen + 3;
    MEINE_DINGSBUMSTABELLE[42] = 23;


    Um das so relativ angenehm ausdrücken zu können, braucht man Pointer.

    In Java-ähnlicher Syntax würde das dann vielleicht so aussehen:

    Code
    Address input = new Address(0x283A82FE);
    Address output = new Address(0x8D92A9CA);
    Address tabelle = new Address(0x0000ABCD);
    
    
    char sagsMir = input.readChar();
    output.writeInt(sagsMir + 3);
    tabelle.writeIntWithOffset(23, 42);


    Ist natürlich möglich, das so zu formulieren; stellt sich die Frage, ob es Sinn hat, so eine Sprache zu konstruieren, nur damit der Programmierer mehr tippen kann als in C. Wenn Address in diesem Beispiel eine echte Klasse ist, hat man Konstruktor- und Methodenaufrufe, die das ganze um Größenordnungen langsamer machen als die C-Variante; wenn es keine echte Klasse ist, hat man eine Sprache, in der alles wie eine Klasse aussieht, einiges aber keine Klasse ist. Auch nicht wahnsinnig sauber.

  • Neue Programmiersprache D

    • Plantschkuh!
    • 4. Januar 2007 um 13:26
    Zitat von klausi

    Scheint mir nur ein weiterer C-Klon zu sein, ich sehe da keine großen Reformen.


    Naja, was sind "große Reformen"? Schon allein Support für Klassen und für Schleifenkonstrukte mit Typinferenz für Laufvariable deuten auf alles andere als einen C-Klon hin. Erweiterung ja vielleicht, ist ja auch nicht unbedingt schlecht. Wie auch ein "Klon", der einige der nervigeren Probleme beseitigt, nicht unbedingt schlecht wäre.

    Zitat

    Ich würde mir eine hardwarenahe Sprache mit java-ähnlicher Syntax wünschen (was aber anscheinend ein Widerspruch in sich sein dürfte).


    Was meinst du mit Syntax? Für "hardwarenahe" Programmierung ist z.B. die von dir blöd gefundene Unterscheidung zwischen Stack- und Heapobjekten (Zeiger/Referenzen vs. nicht-Zeiger/Referenzen) wichtig.

  • Wochentag vom Jahr ausgeben

    • Plantschkuh!
    • 27. Dezember 2006 um 17:50
    Zitat von Paulchen

    Probieren geht über studieren:


    Oder auch "probieren geht in Richtung Sachen lernen, die bei dieser Version von diesem Compiler so sind, aber bei einem anderen Compiler oder auch nur einer anderen Version von diesem Compiler vielleicht ganz anders".

  • Typ A innerhalb Typ B verwenden, und umgekehrt ...

    • Plantschkuh!
    • 12. Dezember 2006 um 13:10
    Zitat von sauzachn

    Macht er aber in dem Fall eh - durch Einbindung der Headerdateien. Nur wenn A.h resp. B.h _nicht_ eingebunden werden sollen, muss man "class X" forward deklarieren.


    Die Einbindung ändert nichts daran, daß es zyklische Abhängigkeiten zwischen den Klassen gibt. Die Deklaration von B kommt vor jeglicher Deklaration von A, also gibts bei der Deklaration "A* a;" einen Fehler.

    Zitat

    Und die Fehlermeldung wäre auch interessant!


    g++ liefert da, wie leider oft bei unbekannten Typen, nur einen syntax error ohne nähere Details.

  • Eigenartige Prüfungsfragen

    • Plantschkuh!
    • 2. Dezember 2006 um 09:51
    Zitat von hellsmurf

    Schon blöd, wenn das eine Multiple-Joice-Frage, die mit Punkten bewertet ist, ist.


    Kann schon sein, daß das eine blöde Frage ist. Was waren die Antwortmöglichkeiten?

  • struct komplexe Zahlen Operation

    • Plantschkuh!
    • 1. Dezember 2006 um 23:16

    printf und scanf haben da unterschiedliche Formatzeichen, die darf man nicht verwechseln.

  • Eigenartige Prüfungsfragen

    • Plantschkuh!
    • 1. Dezember 2006 um 23:10
    Zitat von hellsmurf

    Oder meinst Du was ganz anderes und bist nur nicht fähig das Ganze in deutsche Sätze zu fassen?


    Das muß es sein. Ich probiere es mit einfachen Hauptsätzen. Write-Only Memory ist ein Witz. Haha, lustig. Oh, der vorige Satz war kein Hauptsatz. Er hatte kein Verb. Write-Only Memory ist ein Witz. Write-Only Memory war schon immer ein Witz. Write-Only Memory gibt es nicht. Du verstehst das nicht. Alle halten dich für blöd. Alle lachen über dich.

  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™
Website-Design: Fury - © NetzLiving GmbH