• 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!

  • Hilfe...

    • Plantschkuh!
    • 25. Juli 2004 um 17:47
    Zitat von Primenumber

    Wie siehts mit itoa() aus der stdlib aus? Ist das dann ISO C/C++?


    Weder noch. Wie gesagt, mit sprintf (und in C99 auch snprintf) geht sowas supi.

    Zitat

    Und char buf[10] geht aber schon?


    Ja, natürlich.

  • Hilfe...

    • Plantschkuh!
    • 24. Juli 2004 um 20:05
    Zitat von Primenumber

    _itoa(foo, bar, 10);


    Diese Funktion _itoa ist aber nicht Teil von ISO C oder ISO C++ und wird nur auf bestimmten Plattformen unterstützt. In echtem C kann man zum Beispiel sprinf verwenden. Ich finde übrigens nicht, daß es total häßlich ist, die Ziffern einzeln mit Modulo- und Divisionsoperationen zu ermitteln.
    new ist übrigens C++, aber nicht C; eventuell hilft das fips nicht weiter. Ich würde allen empfehlen, die sinnlose Kategorie "C/C++" zu ignorieren und stattdessen explizit ihn ihren Post zu schreiben, in welcher Sprache sie ihre Lösung haben möchten. (Oder man nervt halt die Mods so lange, bis anständig benannte Kategorien eingeführt werden.) Und man bekommt vielleicht auch mehr Hilfe und weniger Beschwerden von Leuten wie mir, wenn man seinem Thread auch einen brauchbaren Titel gibt...

  • .txt auf html oder rtf parsen

    • Plantschkuh!
    • 21. Juli 2004 um 12:23

    Für nichttriviale Parser empfehlen sich Parsergeneratoren. Für Java habe ich da neulich mit JavaCC (https://javacc.dev.java.net/) ganz brauchbare Erfahrungen gemacht, vielleicht eignet es sich auch für deine Zwecke.
    Im Prinzip mußt du nur eine kontextfreie Grammatik für deine Eingabesprache schreiben können, den Rest macht dir der automatisch generierte Parser.

  • Access in EXE

    • Plantschkuh!
    • 28. Juni 2004 um 16:50
    Zitat von michi204

    da bräuchte ja niemand mehr eine schweineteure office-lizenz kaufen... abgesehen von dem der die db erstellt, und das kann einer für viele machen..


    So gesehen wäre es von Microsoft doch auch blöd, Compiler zu verkaufen, oder?

  • Unterschiede zwischen UNIX und Win bei C

    • Plantschkuh!
    • 20. Juni 2004 um 22:49
    Zitat von leviathan

    für C unter UNIX?


    Ich finde, das ist schon mal der falsche Ansatz: Wenn du ein Buch mit dem Titel "C unter UNIX" liest, dann lernst du damit vielleicht, wie man effektiv UNIX-Programme schreibt; C (die Programmiersprache) lernst du damit aber nicht. D.h. du wirst nicht unterscheiden können, was jetzt C ist und was UNIX, und beim ersten Plattformwechsel fällt dir das auf den Kopf.
    Ich würde daher empfehlen, zuerst die Sprache zu lernen. Die paar Betriebssystemaufrufe, die bei Sysprog dann noch dazukommen, sind erstens nicht so schwer zu lernen und zweitens zum Teil sowieso Sysprog-spezifisch, du wirst einige also sowieso nirgendwo anders finden.
    Hier ein paar Links für echtes, portables C:
    http://www.eskimo.com/~scs/C-faq/top.html
    http://users.powernet.co.uk/eton/clc/cbooks.html
    http://home.att.net/~jackklein/c/c_books.html
    Weiters ist (bzw. war, ich hab sie schon länger nicht mehr gelesen) die Newsgroup comp.lang.c absolut genial und voll mit Experten, man muß aber aufgrund des hohen Traffics entsprechend Zeit zum lesen investieren, wenn man das ganze Wissen aufsaugen will.

  • legale mp3s - günstig?

    • Plantschkuh!
    • 14. Juni 2004 um 08:57
    Zitat von michi204

    nicht mehr legal [...] legal


    Gibt's vielleicht irgendwo online eine Zusammenfassung der aktuellen Urheberrechtssituation in Österreich zu lesen?

  • peer-to-peer software für download von mp3s

    • Plantschkuh!
    • 12. Juni 2004 um 22:53

    Empfehlen würde ich das vielleicht nicht direkt, aber ich verwende nicotine (früher pyslsk genannt).

  • tiefere Sinnhaftigkeit von .ps Dateien?

    • Plantschkuh!
    • 11. Juni 2004 um 21:58
    Zitat von daff

    Und HTML als Alternative zur Darstellung von Dokumenten vorzuschlagen ist irgendwie schon grob fahrlässig :) Vor allem natürlich, wenn es sich um Dokumente mit viel dargestellter Mathematik handelt.


    Bei http://mathworld.wolfram.com scheint es ganz gut zu funktionieren (z.B. http://mathworld.wolfram.com/PoissonDistribution.html). Für Texte, die zum online-browsen mit Hyperlinks gedacht sind, ist HTML oft eine gute Wahl; man muß sich nur zu helfen wissen.

  • tiefere Sinnhaftigkeit von .ps Dateien?

    • Plantschkuh!
    • 10. Juni 2004 um 17:43

    Was willst du sonst verwenden? PostScript ist gut dokumentiert, wird von vielen Laserdruckern direkt gefressen, läßt sich leicht aus LaTeX erzeugen und ist eine Turing-vollständige Programmiersprache (http://public.planetmirror.com/pub/pshttpd/).
    Mögliche Alternativen sind bei anderen Leuten auch unbeliebt: http://www.complang.tuwien.ac.at/anton/why-not-pdf.html

  • C: Segmentation Fault bei großem Array

    • Plantschkuh!
    • 6. Juni 2004 um 14:16
    Zitat von Kuschelmaus

    ich glaub nicht, dass es sinn macht, den code zu posten, da er alleine eh nicht rennt weil das ganze in ein größeres projekt eingebettet ist.


    Deswegen hab ich ja gemeint, du sollst ihn abspecken, aber eben so weit, daß du noch ein kleines, lauffähiges Programm hast, das deinen Fehler demonstriert. Also sowas:

    C
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int main(void)
    {
        unsigned int m, n;
        float **array;
        float *data;
        unsigned int i, j;
    
    
        if (scanf("%u %u", &m, &n) == 2)
        {
            printf("m = %u, n = %u\n", m, n);
            /* lege großen Speicherblock an */
            data = malloc(m * n * sizeof *data);
            /* lege Array von Pointern an */
            array = malloc(m * sizeof *array);
            if (data == NULL || array == NULL)
            {
                puts("data oder array konnte nicht angelegt werden");
                exit(EXIT_FAILURE);
            }
            /* setze Pointer an den Anfang jeder "Spalte" */
            for (i = 0; i < m; i++)
                array[i] = data + i * n;
            /* teste den Speicher */
            for (i = 0; i < m; i++)
                for (j = 0; j < n; j++)
                    array[i][j] = i * n + j;
            puts("alles ok");
            /* gebe Pointer und Gesamtspeicherblock frei */
            free(array);
            free(data);
        }
    
        return 0;
    }
    Alles anzeigen


    oder auch:

    C
    #include <stdio.h>
    #include <stdlib.h>
    
    
    int main(void)
    {
        unsigned int m, n;
        float **array;
        unsigned int i, j;
    
    
        if (scanf("%u %u", &m, &n) == 2)
        {
            printf("m = %u, n = %u\n", m, n);
            /* erste Dimension anlegen: ein Array von Pointern, für die
             * dann jeweils eine Spalte der Matrix angelegt wird */
            array = malloc(m * sizeof *array);
            if (array == NULL)
            {
                puts("array konnte nicht angelegt werden");
                exit(EXIT_FAILURE);
            }
            for (i = 0; i < m; i++)
            {
                /* erzeuge i-te Spalte */
                array[i] = malloc(n * sizeof *array[i]);
                if (array[i] == NULL)
                {
                    printf("array[%u] konnte nicht angelegt werden", i);
                    exit(EXIT_FAILURE);
                }
                /* weise jedem Element des Arrays einen Wert zu.
                 * Eventuelle Probleme sollten spätestens hier
                 * auftauchen. */
                for (j = 0; j < n; j++)
                    array[i][j] = n * i + j;
            }
            puts("alles ok soweit");
            /* gebe einzelne Spalten frei */
            for (i = 0; i < m; i++)
                free(array[i]);
            /* gebe Spaltenarray frei */
            free(array);
        }
    
        return 0;
    }
    Alles anzeigen


    Die erste Variante legt dabei einen großen Speicherblock für die gesamte Matrix an und erzeugt dynamisch Pointer, die jeweils an den Anfang einer Spalte zeigen. Die zweite Version legt für jede Spalte ein eigenes dynamisches Array an, hier ist der Speicherblock für die gesamte Datenstruktur nicht zusammenhängend.
    Beide funktionieren bei mir tadellos, z.B. mit dem Input "16000 1800". Ob sie wirklich korrekt sind, ist eine andere Sache :winking_face:

  • C: Segmentation Fault bei großem Array

    • Plantschkuh!
    • 5. Juni 2004 um 22:50

    Die Frage ist sehr schwer zu beantworten, ohne deinen Code zu kennen. Poste am besten eine kleine, abgespeckte Version des Programms.

  • Hilfe! Dringend!

    • Plantschkuh!
    • 5. Juni 2004 um 15:44

    Starte das Programm aus einer DOS-Box. ("Eingabeaufforderung" oder wie die heißt.)

  • Tabelle geht über die Seite hinaus

    • Plantschkuh!
    • 22. Mai 2004 um 17:04

    Dafür gibt es p (paragraph) als Spaltentyp. Man muß dabei die Breite der Spalte angeben, ein Beispiel habe ich in diesem Thread gepostet: http://hades.gothic.at/iforum/showthread.php?t=17786

  • Hilfeee!!!

    • Plantschkuh!
    • 17. Mai 2004 um 22:27

    Ein paar Tips für die erfolgreiche Hilfesuche:

    • Wähle ein anständiges Subject, das dein Problem beschreibt.
    • Beschreibe nicht nur die Angabe, sondern auch das, was du schon hast.
    • Sag uns, wo du anstehst.
    • Sag uns, warum du anstehst.
    • Stelle konkrete Fragen.
    • Erwarte nicht, daß wir das Programm für dich schreiben; sag uns, wobei du Hilfe brauchst.
    • Lies das: http://www.catb.org/~esr/faqs/smart-questions.html
  • stacks

    • Plantschkuh!
    • 9. Mai 2004 um 13:50
    Zitat von jenny_psion

    incompatible types
    [javac] found : java.lang.Object
    [javac] required: char
    [javac] char opTop = myStack.pop();
    [javac] ^


    Javas Stacks (und Vectors und das ganze sonstige Collection-Zeug) geben immer ein java.lang.Object zurück. Das mußt du dann immer auf den Typ casten, den du gern hättest. Hier halt (char). (Das steht aber alles in der Fehlermeldung.)

  • VMWare Studentenlizenz?

    • Plantschkuh!
    • 9. Mai 2004 um 11:59
    Zitat von JohnFoo

    Gibt es von VMWare eine Studentenlizenz?


    Nö: http://sts.tuwien.ac.at/sss.php (Zumindest nicht vom ZID der TU, falls das gemeint war.)

    Zitat

    Oder kennt jemand von euch ein Open-Source-Projekt, welches das selbe kann?


    Yep: http://bochs.sourceforge.net/
    (Wobei ich jetzt nicht meine Hand dafür ins Feuer lege, daß bochs deiner Definition von "das selbe" genügt. Aber es soll theoretisch das gleiche können.)

  • Programmier_HÜ C und ich nix check ^^

    • Plantschkuh!
    • 23. April 2004 um 22:05
    Zitat von )(eNoN

    also gegeben is eine baumstruktur, die is immer anders, soll nur ein unterprogramm sein, also die struktur soll nich eingegeben werden


    Wenn du dich nicht klar ausdrückst, machst du es anderen nicht gerade leichter, dir zu helfen.
    Also: Wie ist der Baum definiert? Welches Interface soll deine Funktion haben?

  • Unterschied fopen(file,"rt"); fopen(file,"rb")

    • Plantschkuh!
    • 19. April 2004 um 15:42
    Zitat von Kongo

    Was sind eigentlich die Unterschiede zwischen dem translation und dem binary mode?


    Es gibt keinen translation mode, es gibt einen text mode. Ein 't' im mode-string ist ein Fehler und erzeugt undefined behavior.

    Es gibt folgende mode strings (siehe hier, das ist der letze öffentliche Draft des C99-Standards):

    Zitat von n869


    r open text file for reading
    w truncate to zero length or create text file for writing
    a append; open or create text file for writing at end-of-file
    rb open binary file for reading
    wb truncate to zero length or create binary file for writing
    ab append; open or create binary file for writing at end-of-file
    r+ open text file for update (reading and writing)
    w+ truncate to zero length or create text file for update
    a+ append; open or create text file for update, writing at end-of-file
    r+b or rb+ open binary file for update (reading and writing)
    w+b or wb+ truncate to zero length or create binary file for update
    a+b or ab+ append; open or create binary file for update, writing at end-of-file

    Alles anzeigen


    Alles, was nicht in dieser Liste aufscheint, ist ein Fehler.

    Zitat von Kongo

    Ein Unterschied ist, dass im translation mode die carriage return rausgeschnitten werden. Was ist da aber sonst noch anders?


    Das kommt auf die Plattform an. Bei text-streams wird eben die Textdarstellung im File an die Konventionen von C angepaßt. Unter Unix zum Beispiel findet die Transformation, die du angesprochen hast, auch nicht statt, da gibt es keinen Unterschied zwischen Text- und Binärdateien.
    Da die gelesenen Zeichen eben nicht genau den gespeicherten entsprechen, sind fseek/ftell auf Textfiles auch eingeschränkt.

  • table problem

    • Plantschkuh!
    • 9. April 2004 um 16:05
    Zitat von nordtiroler

    ich darf mich mit ein paar problemen anschließen, weils hier grad recht gut dazupasst. ich hab mehrere tabellen mit jeweils mehreren spalten.


    Ich hab mal einen kleinen Demotext gebastelt:

    LaTeX
    \documentclass[a4paper]{article}
    \usepackage{ngerman}
    
    
    \begin{document}
    \begin{tabular}{||p{0.2\textwidth} | p{0.5\textwidth} p{0.3\textwidth}||}
        text & mehr text & noch mehr text \\
        neue & zeile gef"allig? & geht auch \\
        Und sogar ganz ganz ganz lange Texte passen wunderbar in diese
        Tabelle & ja & wirklich
    \end{tabular}
    Hier etwas F"ulltext, damit keiner meint, ich w"urde mit meinen
    Tabellen schummeln.
    
    
    % selber Tabellenkopf wie oben
    \begin{tabular}{||p{0.2\textwidth} | p{0.5\textwidth} p{0.3\textwidth}||}
        na dann & schaun & wir mal, ob die tabellen gleich breit sind
    \end{tabular}
    \end{document}
    Alles anzeigen


    Ich glaub, das sollte deine Fragen beantworten.
    Mit p wird der Text der Zelle als ein Absatz formatiert; das hat halt den Nachteil, daß du dir nicht mehr so komfortabel aussuchen kannst, ob eine Spalte links- oder rechtsbündig bzw. zentriert sein soll (zumindest wüßte ich nicht, wie das gehen könnte).

  • Tabelle alphabetisch sortieren

    • Plantschkuh!
    • 9. April 2004 um 13:33
    Zitat von Olli

    Danke für den Hinweis. Das mit c ist mir zu umständlich. Ich werde wohl auch die Excel-Sache machen..


    Wenn du schon extern sortierst, dann reicht vielleicht auch das Unix-Kommando sort für deine Zweicke aus. Dann mußt du nicht mit Excel rumtun und kannst vor allem direkt deinen Text damit munchen, ohne Konversionen vorher oder nachher.
    Möglicher Nachteil: Die ganze Zeile der Tabelle muß in einer Zeile im Source stehen. Könnt vom Aufwand aber trotzdem noch günstiger sein.

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