Beiträge von Plantschkuh!
-
-
Wieso dürfte es kein Problem sein? Um die Position des Handys zu bestimmen, mußt du die Entfernung zu drei Punkten mit bekannten Positionen wissen.
Kennst du die Entfernung zu den drei nächsten Sendemasten UND ihre Positionen? Letzteres bezweifle ich stark... -
\linespread{faktor} oder \setlength{\baselineskip}{faktor \baselineskip}
-
Zitat von davewood
welche Möglichkeit gibts noch die Größe des Arrays zu bestimmen?
Die Anzahl der Elemente des Arrays a bestimmst du mit sizeof (a) / sizeof (a[0]).
Allerdings kannst du in C und C++ keine Arrays als Funktionsargument übergeben; auch wenn du den Parameter wie oben als ExportStruct p[] deklarierst, ist das für den Compiler nichts anderes als ExportStruct *p, also ein Pointer.
Jeder Ausweg aus dieser Situation hat bestimmte Nachteile (nämlich: der User muß die Funktion richtig verwenden); eine Möglichkeit wäre, export mit zwei Parametern auszustatten, einem für das Array und einem anderen für die Größe. -
Zitat von belbono
muss die wurzel dann wirklich schlimmstenfalls 26 kanten haben die zu andern Knoten gehen ?
In einem "richtigen" Indexed Trie ja (der Packed Trie ist ein Spezialfall davon), aber den kannst du nicht verwenden, da du nicht Folgen von Buchstaben, sondern von Tastendrücken betrachtest.
Eine nicht perfekte, aber wohl ganz brauchbare trie-ähnliche Lösung wäre ein Baum, in dem jeder Knoten 8 mögliche Nachfolger hat (entsprechend den Handy-Tasten 2 bis 9) sowie eine Liste von Worten bzw. Wortpräfixen, die mit einer bestimmten Folge von Tastendrücken erzeugt werden können.
D.h. wenn man von der Wurzel aus den Kante 3, von dort Kante 6 und nochmal Kante 6 folgt, wäre man in einem Knoten, in dem (in meinem Handy) die Wortfetzen "dom", "don", "eno", "emo", "fon", "emm" und "foo" gespeichert sind. -
-
Als binären Operator gibts \mid, als Klammer (d.h. als Betragsstriche) einfach | bzw. \vert (jeweils im math mode). Das Aussehen ist gleich, nur die Spaces drumherum werden anders gesetzt.
Siehe die Tabellen in Abschnitt 3.10 List of Mathematical Symbols. -
Zitat von fabbishmain
Wieso kann man kein lokales Objekt in einem Vektor speichern und später darauf zugreifen? Wird es einfach mitgelöscht und der Vektor merkt sich nur die Stelle im Speicher, an der es stehen sollte?
Falls es hier um C++ geht: Ja, lokale Objekte (die nicht als static deklariert sind) werden am Ende des Blocks, in dem sie deklariert sind, zerstört. Das läßt sich nicht verhindern, Punkt.
Wenn du im Vector Referenzen bzw. Pointer speichern willst, mußt du die Objekte dafür dynamisch anlegen. -
Die Sortierung funktioniert mit einem normalen Sortieralgorithmus (für verkettete Listen wird glaub ich oft Merge Sort empfohlen).
Die Frage ist nur, wie die Elemente verglichen werden sollen. Soweit ich das deiner Beschreibung entnehmen konnte, soll ein Record a genau dann vor einem anderen Record b stehen, wenn a.sk < b.sk(a.sk == b.sk && a.mk < b.mk). Sowas nennt man lexikographische Ordnung.
-
Wobei das (nur der Vollständigkeit halber) nur funktioniert, wenn man wirklich das Array hat, nicht einen Pointer aufs erste Element. Insbesondere kann man innerhalb einer Funktion nicht die Länge eines Arrays ermitteln, das als Argument übergeben wurde.
-
Ein mehr oder weniger vollständiges (aber möglichst kleines) Programmfragment sowie die genaue Fehlermeldung wären hilfreich...
Folgender Code:Code
Alles anzeigen#include <map> template <class K, class D> class HeapNode { public: HeapNode(K key, D data); }; template <class K, class D> class Heap { public: Heap(std::map<K, HeapNode<K, D> > nodes); protected: std::map<K, HeapNode<K, D> > nodes; };
wird von meinem g++ 3.3 anstandslos akzeptiert. Mein Tip wär, daß deinen Compiler der Token >> stört; das ist der left-shift-operator. Will man zwei > hintereinander, so muß man sie durch ein Space trennen. (Mein g++ erkennt das schon und gibt nur eine Warnung aus.)
(Source-Files in Headern #includieren ist übrigens böhse.)
-
Zitat von Baerchen1
LA=(struct ORT*)malloc(sizeof(struct ORT))
malloc gibt ein void * zurück, und dieser Typ wird in C automatisch in alle anderen Pointertypen (außer Funktionszeiger) konvertiert. Der Cast ist also nicht notwendig.Zitatvoid main()
main muß laut C-Standard einen int zurückgeben.Zitat
clrscr();
getche();
Das sind keine (Standard-)C-Funktionen, und du inkludierst anscheinend nichtmal einen Header, der sie deklariert. Eventunnel solltest du deinem Lehrer unter die Nase reiben, daß er euch kein richtiges C beibringt. (Oder wenn du dich nicht traust, gib mir seine Mailadresse :devil: )
No jedenfalls ist es prinzipiell deine Sache, ob du Nichtstandard-Funktionen verwendest, aber wenn du hier um Hilfe bittest, solltest du sie entfernen; denn wenn jemand nicht den gleichen (möglicherweise Uralt-)Compiler hat wie du und den Code nicht kompilieren kann, fördert das die Hilfsbereitschaft nicht unbedingt. (Mal ganz abgesehen davon, daß diese beiden Aufrufe auch echt unnötig sind.) -
Zitat von seiti
2. Dauerparken: weiss ich leider nicht mehr genau (glaube um die €60 / Monat mit derselben Zeitbeschränkung)
Zum Vergleich: Das VOR-Semesterticket kostet in der teuersten Variante 117 Euro im Semester, also ca. 29 Euro im Monat; das Hochschüler-Monatsticket noch immer "nur" 42 Euro. Selbst wenn ich ein Auto hätte, könnte ich mir kein Szenario ausmalen, in dem ich immer wieder direkt zur Uni fahre, statt es irgendwo etwas außerhalb gratis abzustellen. (Aber jedem das, was ihm Spaß macht.) -
Wie es mit dem drucken ist, weiß ich nicht, aber man kann zumindest seine Folien irgendwo auf Papier drucken und im Copyshop im Freihaus auf Folie kopieren. Mag vielleicht ein unprofessioneller Umweg sein, das Ergebnis ist aber das selbe.
-
Eine andere, nicht ganz so elegante Lösung wäre \begin{array}{ccccccccccc}.
-
Zum ersten Problem: Was immer du tust, du verwendest dein Programm falsch. Wenn du in calculate das printf in die Schleife hineinziehst und dann calculate("calc.c") aufrufst, passiert was. Passiert das, was du willst?
Zum zweiten: http://www.eskimo.com/~scs/C-faq/q14.3.html (Das sollte eigentlich im Sysprog-Buch stehen.) -
hal hat in seinem Code Funktionen verwendet, die nicht auf allen Systemen vorhanden sind. Lies dir die Hilfe für die Funktionen srand und rand durch und verwende sie stattdessen.
-
Ich habe das selbe Problem mit aMule unter Mac OS X, wenn ich Files runterlade, die Umlaute im Namen haben. Da das File aber schon vollständig (nur unter anderem Namen) im Incomplete-Verzeichnis liegt, kann man es einfach von dort kopieren und gescheit benennen.
Vielleicht ist das bei dir ja auch so. -
http://www.the-underdogs.org/ gibts auch. Die Downloads sind extremstestens langsam, aber sie haben viel. Und man muß sich nicht sinnlos registrieren.
-
Zitat von \LaTeX
Cool, d.h. der Dereference Operator ist zur Laufzeit in diesem Fall "for free"?
Nein, Speicherzugriffe sind nicht for free, sie sind sogar vergleichsweise teuer. Ich wollte nur ausdrücken, daß * und [] beides Operatoren zur Dereferenzierung sind, also hast du bei beiden die gleichen Kosten für den Speicherzugriff.