Zum Inhalt springen

Klotzkopp

Mitglieder
  • Gesamte Inhalte

    9912
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    3

Alle Inhalte von Klotzkopp

  1. Das ist ein grundsätzliches Problem bei der Verwendung von scanf mit %c. Beim nächsten Durchlauf ist nämlich noch das Zeichen für die Eingabetaste im Puffer, und das liefert scanf dir dann. Du solltest nach der Eingabe alle Zeichen bis zum Zeilenwechsel auslesen und ignorieren, also statt scanf: eingabe = getchar(); // Ein Zeichen einlesen while(getchar() != '\n'); // Nachfolgende Zeichen bis inklusive Zeilenwechsel ignorieren[/code]
  2. Das ist der Zusammenhang zwischen n und Z, der dir offenbar fehlt. Dein Algorithmus braucht offenbar Wurzel(Z) Operationen. Jetzt ersetzt du das Z durch einen passenden Ausdruck, der n enthält, und dann hast du's doch schon.
  3. Offenbar verursacht DefWindowProc bei WM_NCLBUTTONDOWN eine Rekursion in der WndProc. Damit ist deine MessagePump außen vor. Deine Probleme rühren meiner Meinung nach eher daher, dass du deine Lib-Logik ziemlich eigenwillig mit der Abarbeitung der Message Loop verknüpft hast. Ich bin da allerdings auch kein Experte. Du könntest dir mal anschauen, wie das bei GLUT gemacht wird.
  4. Die Anzahl der Stellen einer Zahl ist proportional zu ihrem Logarithmus.
  5. Hast du dazu auch eine passende main-Funktion, dass man das Problem einmal reproduzieren kann?
  6. Was und wie gibst du denn aus? "Er haut raus" ist keine besonders gute Beschreibung.
  7. Das heißt, du hast da eine Schleife? Wer bedient währenddessen die MessagePump für deine Fenster? DispatchMessage unterbricht gar nichts. Wie kommst du auf diese Diagnose? Es bringt wenig, wenn du nur zeigst, wie man deine Lib benutzt. Du musst schon ein paar Informationen über die Architektur und die Implementierung deiner Libraryfunktionen liefern.
  8. Den Code hast du aber gesehen, oder?
  9. Warum liest du in ein char-Array ein, wenn du int willst? int i; quelle.read(reinterpret_cast<char*>(&i), sizeof(int));[/code]
  10. Was meinst du mit RC? Wie verschiebst du, und wie drehst du die Dreiecke?
  11. Fenster gibt's in Standard-C++ nicht. Auf welcher GUI-Bibliothek baut deine Lib denn auf?
  12. Klotzkopp

    Bubblesort Java

    Du hast die Sortierschleifen in die Kopierschleife gesteckt. Du versuchst also, das Array zufall zu sortieren, bevor du es vollständig kopiert hast. -> Erst fertig kopieren, dann sortieren.
  13. Klotzkopp

    Bubblesort Java

    Dann häng dich bitte nicht an einen Thread im C-Forum. Ich trenne das mal ab und stecke es ins Java-Forum. Wir würden uns über eine Problembeschreibung freuen, die über "fehlerhafter Code" hinausgeht. Ich würde aber empfehlen, das Array erst dann auszugeben, wenn du mit dem Sortieren fertig bist.
  14. Der Schalter wird von einem Menschen betätigt?
  15. Du deklarierst die Funktion immer noch mit dem Rückgabetyp double. Wenn sie nichts zurückgeben soll, brauchst du den Rückgabetyp void. Dafür gibt es die Funktion sqrt, du brauchst dafür #include <cmath>
  16. Dazu musst du p und q allerdings nicht by reference übergeben, denn die Funktion soll ja p und q nicht ändern. Du hast die Bezeichner x1 und x2 im Kontext von main aber nicht deklariert. Du brauchst dementsprechende Variablen in main, die die Werte aufnehmen können. Nein. Im Übrigen solltest du hier auch keine Zeiger, sondern Referenzen benutzen. Dein Ansatz sieht nach C aus, da macht man das gezwungenermaßen mit Zeigern, weil es in C keine Referenzen gibt.
  17. Dann gib uns doch mal die Möglichkeit, dir zu helfen, indem du das konkrete Problem beschreibst. Am besten mit einem Minimalbeispiel, das den Fehler reproduziert. Das Herumgeeiere mit Verständnisfragen bringt dich ja offensichtlich nicht weiter.
  18. Klotzkopp

    String Kette

    Dann fang doch beim Schlüssel wieder vorne an, wenn du das Ende erreichst.
  19. Wenn sonst nichts dazwischen steht und kein anderer Thread dazwischen funkt und und und ... dann ja.
  20. Das denke ich auch. Was du empfängst, ist schlicht und einfach kein Text, es sind Binärdaten. Wenn du das als Text anzeigen willst, musst du diese Steuerzeichen entfernen oder durch einen Text ersetzen. Nein. Die empfangenen Daten sind ja offensichtlich nicht als Unicode codiert.
  21. Klotzkopp

    String Kette

    Und das Problem ist jetzt genau welches? Bis jetzt hast du nur die Aufgabenstellung abgeschrieben.
  22. Wie ich schon sagte, es ist nicht elegant. Es ist eine Krücke, nichts weiter. "Ich muss hier ein anderes Programm starten, weil ich diese Funktionalität selbst nicht hinbekomme". Ob das ein Sicherheitsproblem ist, hängt doch nicht von der Größe des Programms ab. Wenn dir jemand ein Schadprogramm namens cls.exe oder pause.exe unterschiebt, dann ist doch egal, welche Art Programm das ausführt. Das ist mir bewusst, ich wollte dir keine böse Absicht unterstellen. Das Problem ist, dass sich solche "Tips" schneller verbreiten, als das Wissen, dass das keine gute Lösung ist.
  23. Falls das mit dem "verständlich" wirklich ernst gemeint war: Deine Lösung ist unnötig komplex. Sie ist grob geschätzt dreimal so lang wie die Lösung, auf die Phreak93 am Ende selbst gekommen ist. Glaubst du, der zusätzliche Code schafft irgendwie mehr Verständnis? In Phreak93s Code kann man Fehler viel leichter finden. Die Fehler in deinem Code findet man nicht so leicht. Dass dein eigener Test diese Fehler nicht findet, spricht Bände. Du hast also (geschätzt) dreimal solange gebraucht, um eine dreimal so lange Lösung zu finden, die nicht nur nicht funktioniert, sondern auch schlechter wartbar ist. Nur ein Beispiel: So etwas hier: String result = String.Empty; result = String.Concat(firstCharacter, new String(charactersInBetween.ToArray()), lastCharacter); return result; [/code] ist unnötiger Ballast, wenn es das auch tut: [code]return String.Concat(firstCharacter, new String(charactersInBetween.ToArray()), lastCharacter); Die Funktion tut eigentlich nichts anderes, als ihre Argumente zu konkatenieren. Braucht man dafür wirklich eine eigene Funktion?
  24. Das ist weder elegant noch gut. Erstens ist es nicht portabel und zweitens ein Sicherheitsrisiko. system("pause") ist nicht besser.
  25. Das (void) ist eine Altlast aus C. Schreib einfach int eingabe(). Der Rückgabewert dieser Funktion hat keinen Sinn. Die Funktion gibt immer Null zurück, der Rückgabewert wird auch nicht ausgewertet. Also ändere den Rückgabetyp auf void. Mehr eine Stilfrage: Das sieht ein wenig nach BASIC aus. Dafür gibt es in C und C++ eigene Operatoren: [code]++i; y/=i; Und noch eine Altlast aus C89: Du musst Variablen nicht am Blockanfang deklarieren. Deklarier sie da, wo du sie brauchst. Und initialisiere sie. Fehler aufgrund nicht initialisierter Variablen sind schwer zu finden. Die Variablennamen n und k sind auch nicht so toll.

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...