Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Tja, in Zeile 114 und 198 ist wohl noch etwas falsch. Da hier niemand hellsehen kann, wirst du uns den Code wohl zeigen müssen.
  2. Der "Zähler" der Semaphore gibt sozusagen die Anzahl der noch verfügbaren Zugriffe wieder. Deine Semaphore ist damit von Anfang an blockiert, weil dein Startwert Null ist. Üblicherweise ist der Startwert beim Erzeugen genauso groß wie der Maximalwert.
  3. Wir haben hier den Grundsatz: "Ein Thema, ein Thread. Ein Thread, ein Thema". Demnächst also bitte für neue Probleme einen neuen Thread eröffnen Du kannst einem Array nichts zuweisen. Nimm strcpy.
  4. Wozu brauchst du da eine neue Eigenschaft? Benutz doch einfach BackColor selbst dazu.
  5. So, wie die Direktive jetzt ist, wird _IN_BLOCK durch 2; ersetzt. Damit wird aus if(stricmp(wort1,"REM") == 0 || workmode == _IN_BLOCK)[/code] das hier: [code]if(stricmp(wort1,"REM") == 0 || workmode == 2;) Und das ist ein Syntaxfehler. Ganz allgemein: Definedirektiven werden nicht mit einem Semikolon abgeschlossen (außer natürlich, du willst, dass da wirklich hinterher ein Semikolon hinkommt).
  6. Die Semikola bei den define-Direktiven sind das Problem.
  7. Aber mit der sprintf-Variante von nic_power.
  8. Kommt drauf an. So aus dem Kontext gerissen, ist das nicht eindeutig zu sagen. Der Fehler steckt nicht zwangsläufig in der Zeile, in der der Compiler ihn meldet. Ich vermute, du hast davor schon irgendwelchen anderen Code. In C müssen alle Variablendeklarationen am Anfang eines Blocks stehen.
  9. Das könnte was für dich sein: http://www.codeproject.com/cpp/ExtractPDFText.asp
  10. Klotzkopp

    Hamilton Pfad ??

    Du schreibst zwar im Kommentar, dass der Pfad bei Punkt 1 beginnt, aber der erste Punkt, der durch registreer eingetragen wird, ist der, den du von Punkt 1 aus erreichen kannst. Das könnte z.B. Punkt 0 sein, je nachdem, was in der Textdatei steht. Es ist jedenfalls nicht Punkt 1. Überhaupt ist deine Behandlung für pad.length == 13 problematisch. Du kannst nicht einfach tief in der Rekursion das Array wegwerfen. Die Rekursion sollte von selbst das Array schön wieder abbauen (deregistreer), mehr als ein Aufruf von print sollte da gar nicht notwendig sein. Ist es sicher, dass es immer 13 Punkte und 18 Verbindungen sind?
  11. Klotzkopp

    Hamilton Pfad ??

    Dann zeig doch mal deinen Code und erkläre, wie sich das "falsch laufen" darstellt. Das ist sicher einfacher, als hier komplett neu anzufangen. Falls es um ein sprachspezifisches Problem geht, bist du womöglich im Java-Forum besser aufgehoben, aber auch das können wir erst am Code erkennen.
  12. Naja, der Zuweisungsoperator ist auskommentiert. Vermutlich deswegen, weil er nichts weiter tut als sich selbst aufzurufen, also eine Endlosrekursion. Irgendwo musst du dir schon die Arbeit machen und festlegen, was genau bei einer Zuweisung passieren soll. Dass der Zuweisungsoperator eine Kopie zurückgibt, ist auch nicht gut, das sollte eine Referenz sein. Es ist übrigens nicht empfehlenswert, den Copykonstruktor mit Hilfe des Zuweisungsoperators zu implementieren, weil der Zuweisungsoperator dann in der Lage sein muss, mit einem nicht (oder zumindest nicht vollständig) initialisierten Zielobjekt zurechtzukommen. Besser ist es, einen ordentlichen Copykonstruktor zu schreiben, und dazu eine Swap-Methode, die zwei TString tauschen kann und sicher keine Exception wirft. Dann kann man den Zuweisungsoperator ganz einfach mittels "Copy and Swap" implementieren: TString& TString::operator = (TString &TString2) { TString temp( TString2 ); Swap( temp, *this ); return *this; }[/code] Aber wie gesagt, das erfordert einen "richtigen" Copykonstruktor, keinen, der einfach nur den Zuweisungsoperator aufruft.
  13. Das ist eigentlich alles in der MSDN Library sehr gut und ausführlich beschrieben. Eine kurze Zusammenfassung: FindFirstFile startet einen Suchvorgang. Als Rückgabewert bekommst du ein Handle, anhand dessen bei FindNextFile der passende Suchvorgang identifiziert wird. Du kannst nämlich auch mehrere Suchvorgänge nebeneinander laufen lassen. Ohne das Handle wäre es nicht möglich zu erkennen, welcher Vorgang fortgesetzt werden soll. Die Ergebnisse jedes einzelnen Suchschrittes werden in der WIN32_FIND_DATA-Struktur abgelegt, deren Adresse bei FindFirstFile übergeben wurde. Wenn du alles gefunden hast, was du suchst, musst du den Suchvorgang mit FindClose beenden. Die einzelnen Elemente der WIN32_FIND_DATA-Struktur und ihre Bedeutung kannst du auch in der MSDN Library nachlesen. Wenn du noch weitere Fragen hast, wäre es gut, wenn du etwas genauer beschreiben könntest, was noch unklar ist.
  14. Nein, das lässt sich ja nicht mal compilieren. Der Parameter ist vom Typ char, das ist ein einzelnes Zeichen. Wenn du eine Zeichenkette übergeben willst, sollte das schon char* sein. Außerdem kannst du char-Zeiger-Strings nicht mit == vergleichen. Benutz strcmp. Würde mich wundern. In deinem Code ist nichts, was das bewirken würde. Oder erwartest du, dass das automatisch funktioniert?
  15. Und all die Thread zu diesem Thema, die dir die Suchfunktion ausspuckt, haben dich nicht weiter gebracht? Du hast doch vorher die Suchfunktion benutzt, oder?
  16. Es gibt eine Regel, die besagt: Wenn du einen der "großen Drei" (Copykonstruktor, Copy-Zuweisungsoperator, Destruktor) benötigst, benötigst du alle drei. Das Problem ist in deinem Fall, dass du keinen Copykonstruktor definiert hast. Der Compiler erstellt dann selbst einen, aber der macht nur eine flache Kopie, d.h. er kopiert den Zeiger. Du hast also zwei Objekte, die denselben Zeiger benutzen. Und damit knallt's beim zweiten delete. Einen Member im Destruktor auf Null zu setzen, ist übrigens ziemlich sinnlos.
  17. Nein. Bei dem Beispielcode wird nirgendwo m addiert.
  18. Welche Operationen hast du denn zur Verfügung? Multiplikation ja offenbar nicht, das wäre zu einfach. Nur Addition? Und nur für ganze Zahlen? Oder Fließkomma?
  19. Verschoben -> .NET
  20. Ich gehe hier der Einfachheit halber von r = 1 aus. Ich teile das Quadrat zunächst in vier kleinere Quadrate (grüne Linien). Jetzt betrachte ich eine der vier Teilflächen der gesuchten Fläche, in diesem Fall die unten links. Jede Teilfläche besteht aus einem (gleichseitigen rechtwinkligen) Dreieck und einem Kreisabschnitt. Für die Dreiecksfläche braucht man die Länge AM. AM ist DC minus 1/2. ADC bilden ein rechtwinkliges Dreieck, die Hypotenuse (AD) entspricht dem Radius der Kreise. Da AC 1/2 ist, ist der Winkel in D 30°. DC ist damit cos(30°), AM also cos(30°) - 1/2. Damit ist die Fläche des Dreiecks (cos(30°) - 1/2)^2 / 2. Die Fläche eines Kreisabschnitts im Einheitskreis mit "Innenwinkel" a ist (a - sin(a)) / 2. a ist hier (siehe oben) 30°, sin(30°) ist 1/2. Das kommt also noch dazu. Beides addiert, und mal 4 ergibt den genannten Wert.
  21. Wenn du der Meinung bist, dass ein Thread im falschen Unterforum gelandet ist, dann wende dich bitte an einen der zuständigen Moderatoren. Der wird ihn bei Bedarf verschieben. Wenn du einfach nur "pushen" wolltest, darf ich dich auf die Boardregeln hinweisen -> Geschlossen.
  22. Man könnte das lösen, indem man die Fläche in 4 Dreiecke (jeweils die Ecken und der Mittelpunkt) und vier Kreisabschnitte unterteilt. Da kommt bei einem Kreisradius von 1 als Fläche 0,315146744 raus, das könnte hinkommen.
  23. Klotzkopp

    Menuestruktur

    Weil das: float fahrenheit_celsius();kein Funktionsaufruf, sondern eine Deklaration ist. Beim Aufruf gibt man nicht den Rückgabetyp an, sondern verarbeitet den Rückgabewert (außer bei void-Funktionen), z.B. indem man ihn einer Variablen zuweist.
  24. Du hast aber '4', nicht 4. Es ist sinnlos, den ASCII-Code mit zwei zu multiplizieren. '4' * 2 ist nicht '8', sondern '`'.
  25. GetSysColor mit COLOR_BTNFACE sollte die passende Farbe liefern.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...