Sortieren von Zahlen



  • Herby99 schrieb:

    Also erstens schrei ich nicht herum, und zweitens gibt es bei mir keine Fehlermeldung. Da wird nichts angezeigt. Nur die Anzahl der Errors ist zu sehen - wo der Fehler ist nicht.

    Das kann ich mir eigentlich nicht vorstellen. Mir ist noch kein C-Compiler unter gekommen, der nicht mindestens die Zeile, in der der Fehler auftritt anzeigt. Such mal, ob du die Fehlerconsole nicht einfach ausgeblendet hast, die die meisten IDEs das anbieten.

    Falls das nicht geht, würde ich mir einen anderen Compiler suchen. Um was für einen Micro-Controller handelt es sich? (Architektur)



  • 1. Krass, wieviel hier geschrieben worden ist in der Zeit. 😃

    2. Also ich sehe, dass es bei dir um recht banale Sachen geht. Das kannst du an einem Abend alles selber lernen, wenn du ein anständiges Buch, oder Tutorial hast.

    Ist hald kein C++, aber : http://www.onlinetutorials.de/c-index.htm

    Wenn du da ein paar Stunden investierst, wirst du das meiste verstehen, was wird dir hier gesagt haben und du kannst wahrscheinlich deinen ganzen Code auf 50 - 100 Zeilen kürzen respektive neu schreiben.



  • Hi Herby,

    habe ich das korrekt verstanden? Du testest das Programm, indem Du es auf den µController lädst? Hmm. Normalerweise verwendet man dafür einen Debugger und einen Emulator. Das dauernde Hochladen auf den µC ist doch viel zu umständlich, ganz zu schweigen davon, dass Du dann ja nicht vernünftig debuggen kannst und außerdem die meisten (?) µC eine begrenzte Beschreibbarkeit haben (und soo billig sind die ja auch nicht).



  • Ein anständiger Mikrocontroller hat ein hübsches JTAG-Interface und du kannst super toll gleich on-chip debuggen. Ausserdem kannst du so ein Teil praktisch so viel wie du willst neu beschreiben.
    Das ist kein Intel 4004 oder so ähnlich, was der Herr hier verwendet. Diese Zeiten liegen doch schon länger zurück...



  • Ein anständiger Mikrocontroller hat ein hübsches JTAG-Interface und du kannst super toll gleich on-chip debuggen. Ausserdem kannst du so ein Teil praktisch so viel wie du willst neu beschreiben.
    Das ist kein Intel 4004 oder so ähnlich, was der Herr hier verwendet. Diese Zeiten liegen doch schon länger zurück...



  • Der Code schrieb:

    Ein anständiger Mikrocontroller hat ein hübsches JTAG-Interface und du kannst super toll gleich on-chip debuggen. Ausserdem kannst du so ein Teil praktisch so viel wie du willst neu beschreiben.
    Das ist kein Intel 4004 oder so ähnlich, was der Herr hier verwendet. Diese Zeiten liegen doch schon länger zurück...

    Keine Ahnung, ich habe nur ein einziges Mal mit einem µC gearbeitet, vor etwas mehr als zwei Jahren, und der hatte eine Beschränkung. Soo lange können die Zeiten also noch nicht zurückliegen. 😉

    … Aber umso besser. Wenn man on-chip debuggen kann, müsste man ja auf jeden Fall auch ne Fehlermeldung bekommen (wobei man ja sicher nicht on-chip compiliert, d.h. einen anständigen Compilerfehler sollte man sowieso bekommen).



  • Herby99 schrieb:

    Badestrand schrieb:

    Vielleicht wäre dies etwas für dich? Da kannst du deinen Code reinposten, er wird auf dem Server kompiliert und du bekommst die Fehlermeldungen auch angezeigt - ohne ist es wirklich schwierig 😕

    Hier ist das Ergebnis:

    Comeau C/C++ 4.3.9 (Mar 27 2007 17:24:47) for ONLINE_EVALUATION_BETA1
    Copyright 1988-2007 Comeau Computing. All rights reserved.
    MODE:strict errors C++ C++0x_extensions

    "ComeauTest.c", line 21: error: extra text after expected end of preprocessing
    directive
    #include "sfr_r813.h";
    ^

    "ComeauTest.c", line 21: catastrophic error: could not open source file "sfr_r813.h"
    #include "sfr_r813.h";
    ^

    1 error and 1 catastrophic error detected in the compilation of "ComeauTest.c".
    Compilation terminated.

    Wenn es zur Lösung des Problems beiträgt - ich sehe allerdings keine.

    Bist du sicher das es vorher schon mal funktioniert hat?-Er scheint ja nicht mal den Header mit den Definitionen für die SFR-Register zu finden...
    Irgendwie vermute ich, dass diese Behauptung, dass du die Zahlen tatsächlich ganz toll, wenn auch unsortiert, ausgeben kannst, einen nicht besonders hohen Wahrheitsgehalt hat? (Sorry im Voraus, wenn ich falsch liege!)



  • Der Code schrieb:

    Bist du sicher das es vorher schon mal funktioniert hat?-Er scheint ja nicht mal den Header mit den Definitionen für die SFR-Register zu finden...
    Irgendwie vermute ich, dass diese Behauptung, dass du die Zahlen tatsächlich ganz toll, wenn auch unsortiert, ausgeben kannst, einen nicht besonders hohen Wahrheitsgehalt hat? (Sorry im Voraus, wenn ich falsch liege!)

    Das war nur die Ausgabe des Camaeu-Compilers im Internet 😉 Da kann man etwas Source reinkopieren und prüfen lassen - das funktioniert aber nicht, sobald man mit mehreren Dateien arbeitet, außer man spielt Präprozessor..



  • Du willst einen Mikrocontroller programmieren um mit ihm ein LCD anzusteuern, richtig?

    Kauf dir einen ATMega8.
    Zieh dir dann das AVRStudio von ATMEL und "paare" dieses mit WINAVR (AVR-GCC) als Compiler.
    Mit AVRStudio kannst du dann wunderbar in C codieren, hast einen klasse Simulator zur Verfügung und gratis ist's auch noch.
    Um denn Code tatsächlich auf den Controller herunterzuladen, wird es kostenlos allerdings etwas schwerer. (Ein ATMEL AVRISP mkII kostet ca. 60Euro)
    Du kannst aber auch diese Schaltung hier nachbauen und mit AVRStudio ein Hex-File erstellen, dass du dann z. B. mit PonyProg und dieser Schaltung am LPT "rüberbrennst". (So kostet auch das praktisch nichts.)

    Alles in allem kann man sagen, dass du sicher min. etwas C (WINAVR u. AVRStudio), BASIC (BASCOM) oder Assembler (AVRStudio) lernen MUSST, wenn du etwas mit deinen Displays anfangen willst.
    Für Fragen zum Thema Mikrocontroller ist ausserdem dieses Forum spitze, da wird man dir evtl. helfen, wenn du von der Vorstellung abkommst, jemand komme zu dir nach Hause, installiere dir die ganze Entwicklungsumgebung und codiere auch gleich noch jedes Prog. das du gerade so möchtest.
    (Denn Code um ein Display anzusteuern, wirst du ziemlich sicher sogar noch komplett herunterladen können für einen ATMega8, du musst vor allem erstmal eine Entwicklungsumgebung korrekt installieren, sonst geht da garnichts, Compiler und Simulator inklusive!)



  • Konrad Rudolph schrieb:

    habe ich das korrekt verstanden? Du testest das Programm, indem Du es auf den µController lädst? Hmm. Normalerweise verwendet man dafür einen Debugger und einen Emulator. Das dauernde Hochladen auf den µC ist doch viel zu umständlich, ganz zu schweigen davon, dass Du dann ja nicht vernünftig debuggen kannst und außerdem die meisten (?) µC eine begrenzte Beschreibbarkeit haben (und soo billig sind die ja auch nicht).

    Ja ich muss das Programm immer neu kompilieren und auf den µC laden.

    Leider läuft der Debugger auf meinem Rechner nicht - hab schon einiges versucht, aber er will nicht - bekomme immer bei der Installation schon Probleme.

    Das Hochladen geht eigentlich recht schnell - derµC hängt ja ständig am Rechner, also kein andauerndes an- umd abklemmen erforderlich.
    Die Überschreibbarkeit ist nicht wirklich beschrenkt - ich glaube da sind mehrere tausend mal möglich.
    Der Preis ist relativ; 2,40/Stk.
    Übrigens es um den 16-Bit Controller R5F21134FP von Renesas im LQFP32-Case.

    Ich hab zwar keine Erfahrung mit anderen Controllern, aber der kleine gefällt mir irgendwie. Und weil ich ein paar solcher Teile herumliegen habe möchte ich auch etwas mit diesen Dingern anstellen 🤡
    Habe noch nicht viel wirklich brauchbares damit gemacht, jedoch einige Spielereien mit LEDs und so hinbekommen.
    Erste Schritte eben: Ports aus- und einschalten, Potential abfragen, am Analogeingang Spannung messen und einen Frequenzzählen (die letzten beiden aber mit Codeteilen von anderen Usern - wobei ich diesem Code noch nicht ganz folgen kann 🙄



  • Herby99 schrieb:

    Ich hab zwar keine Erfahrung mit anderen Controllern, aber der kleine gefällt mir irgendwie. Und weil ich ein paar solcher Teile herumliegen habe möchte ich auch etwas mit diesen Dingern anstellen 🤡

    Womit wir wieder beim Thema wären. Um etwas damit anzustellen, musst du die Basics der Programmierung beherrschen, z.B. Arrays. Wenn du mit einem Auto "etwas anstellen" willst, recihts auch nicht, zu wissen, wie das Lenkrad funktionieren sollte - Licht, Blinker, Pedale, Schalthebel, Spiegel sind auch wichtig. Und glaub mir, der Umgang mit Arrays ist auch nicht schwerer, man muss es sich nur mal angeguckt haben 😉



  • Womit wir wieder beim Thema wären. Um etwas damit anzustellen, musst du die Basics der Programmierung beherrschen, z.B. Arrays. Wenn du mit einem Auto "etwas anstellen" willst, recihts auch nicht, zu wissen, wie das Lenkrad funktionieren sollte - Licht, Blinker, Pedale, Schalthebel, Spiegel sind auch wichtig. Und glaub mir, der Umgang mit Arrays ist auch nicht schwerer, man muss es sich nur mal angeguckt haben 😉

    Du heißt nicht umsonst so wie du heißt - oder ? pumuckl



  • Herby99 schrieb:

    Du heißt nicht umsonst so wie du heißt - oder ? pumuckl

    Weist du, dass dir pumuckl nur einen guten Rat geben will. Aber das verstehst du wohl nicht. Du solltest dich nur ein bisschem mit den Dingen, die du tust auseinandersetzten. Und mal nebenbei bemerkt, das sind so simple und triviale Dinge, dass es schon lächerlich ist, wie du dich dagegen werst, auch nur ein bisschen was zu lernen. Aber gut... Du stribst dann halt dumm. Erwarte nur nicht, dass man dir hilft, mit diser Einstellung. Du hast hier schon mehr hilfe bekommen, als du es anscheinend verdienst.



  • Du hast hier schon mehr hilfe bekommen, als du es anscheinend verdienst

    Ich hab hier auch schon Hilfe bekommen, ja das stimmt.

    Ich habe aber auch viele viele Kommentare erhalten, so wie zB. deiner, die mir kein bisschen Hilfe geben. Freilich sind es sehr einfache Fragen die ich hier stelle - schließlich sind ja Foren auch dazu da.

    Wenn nur Antworten gegeben würden, die man auch als Antworten bezeichnen kann, dann hätten wir zu diesem Thema hier nicht sieben, sondern blos erst eine Seite gepostet.



  • Herby99 schrieb:

    Du hast hier schon mehr hilfe bekommen, als du es anscheinend verdienst

    Ich hab hier auch schon Hilfe bekommen, ja das stimmt.

    Ich habe aber auch viele viele Kommentare erhalten, so wie zB. deiner, die mir kein bisschen Hilfe geben. Freilich sind es sehr einfache Fragen die ich hier stelle - schließlich sind ja Foren auch dazu da.

    Dieses Forum ist nicht dazu gedacht das dir alle Antworten zuspringen.
    Fehlende Eigeninitiative und Lernbereitschaft sollten eigentlich nicht unterstützt werden, das du dann auch noch unfreundlich bist wenn man dich darauf hinweist, ist nur ein Zeichen das du definitiv schon zuviel Hilfe hier bekommen hast.

    cu André



  • Freilich sind es sehr einfache Fragen die ich hier stelle - schließlich sind ja Foren auch dazu da.

    lies dir mal die allgemeinen nutzungsbedingungen für dieses forum durch (da: http://www.c-plusplus.net/cms/modules.php?op=modload&name=legal&file=index)
    da steht sehr schön: hier posten zu dürfen ist ein privileg. denkst du, die leute haben hier nichts besseres zu tun, als leuten, die kein bisschen eigeninitiative zeigen (und sich etwas mit arrays auseinanderzusetzen, wenn man einen mikrocontroller programmieren will ist wirklich nur ein klitzekleines bisschen) und noch dazu *keine* relevanten code-stellen posten zu helfen? den meisten, die hier antworten geht es einfach darum, dir zu erklären, dass es so etwas wie eine netikette gibt.

    wir sind kein kundendienst. wir erwarten, dass du unsere regeln befolgst. und dafür, dass du leute, die dich netterweise auch noch darauf hinweisen, dass dein verhalten vielleicht auch ein ganz kleines bisschen arrogant rüberkommt, und im endeffekt auch leuten, die dir tatsächlich vorschläge geben, obwohl sie keinerlei ahnung haben, was du genau nicht raffst - und auch erwarten, dass du dich dann ein bisschen dazu informierst - einfach ignorierst und dir auch von den posts, die dir bereits hilfe gegeben haben (eine komplettlösung bubblesort war dabei afaik) keine hilfe holst, sollte dir eigentlich jemand eine merkbefreiung ausstellen.

    Wenn nur Antworten gegeben würden, die man auch als Antworten bezeichnen kann, dann hätten wir zu diesem Thema hier nicht sieben, sondern blos erst eine Seite gepostet.

    wie du in den wald schreist, so hallt es aus ihm heraus.

    da es sowieso sehr unwahrscheinlich ist, dass der OP in diesem thread noch irgendetwas dazulernt (weil er selbst ja gar nicht will), schlage ich vor, das thema zu schließen, bevor noch mehr eigentlich ganz nette leute davon auf die palme gebracht werden.



  • Herby99 schrieb:

    Ich habe aber auch viele viele Kommentare erhalten, so wie zB. deiner, die mir kein bisschen Hilfe geben.

    Hast du dir die Links angeschaut, die ich dir geschrieben habe?

    Herby99 schrieb:

    Wenn nur Antworten gegeben würden, die man auch als Antworten bezeichnen kann, [...]

    Wenn ich mir die Zeit nehme, dein Problem zu lesen, dir dazu eine Antwort gebe, dann erwarte ich auch, dass du dich wenigstens mit der Antwort auseinandersetzt und nicht nach dem Prinzip vorgehst: "Ich plärre so lange rum, bis mir jemand genau mein Problem löst, aber ich will bloß keinen Finger dafür krumm machen". Und dann machst du noch die Leute dumm an, die dir bloß helfen wollen.



  • Herby99 schrieb:

    Wenn nur Antworten gegeben würden, die man auch als Antworten bezeichnen kann, dann hätten wir zu diesem Thema hier nicht sieben, sondern blos erst eine Seite gepostet.

    Wenn wir die Antworten geben wuerden, die du als Antworten bezeichnen wuerdest, dann haetten wir entweder erraten muessen wie dein Code aussieht und dir die entsprechenden zusaetzlichen Zeilen schreiben muessen. Da wir deinen Code aber nicht exakt erraten koennen, sind die Codebeispiele die hier schon stehen alles was du in der Richtung erwarten kannst.

    Oder wir haetten dir als vollstaendige Antwort erklaeren muessen was ein Array ist, wie man das sortiert und wie du auf die Art dein Problem loesen kannst. Das waeren etwa zwei bis drei Seiten aus einem Tutorial gewesen, die irgendjemand haette abschreiben muessen. Da dazu keiner Lust hatte, hast du hier mehrfach den Hinweis bekommen, dass man derartige Tutorials schnell mit google findet, bzw. Links zu solchen Tutorials.

    Leider hast du dich als absolut lernresistent erwiesen, hast alle Tips die man dir gegeben hat einfach in den Wind geschlagen. Deine Einstellung die du hier vertrittst liest sich wie "ich will etwas koennen ohne es vorher zu lernen". Mit der Einstellung wirst du im Leben keinen Schritt weiter kommen als du jetzt bist.

    Hier noch zwei allerletzte Links als Hilfsversuch
    Google-Ergebnis zu "C++ tutorial Arrays - Zweiter Eintrag
    Google-Ergebnis zu "C++ tutorial sortieren" - Dritter Eintrag. Interessant fuer dich Lektion 28,49-52



  • Schade, ich dachte dies sei ein kompetentes Forum. Scheinbar sind aber hier großteils Schüler, die auf einfache Fragen offensichtlich keine Antwort wissen.

    Ein Dank an die paar Leute, die zumindest versucht haben mir zu helfen. Der Kindergarten ist mir echt zu bunt ...

    Ich brauch mir nicht von Rotznasen sagen lassen was ich im Leben erreichen kann. Ich könnte vermutlich der Großvater von den meisten von euch sein - ich habe vielleicht schon mehr erreicht, als ihr jemals erreichen werdet.

    Ich wünsche allen Meckerzicken, falls ihr auch mal Hilfe benötigt, dann auch einer sagt "Lern das gefülligst selbst und frag nicht hier rum" !

    In diesem Sinne ... habt mich lieb 😋



  • Herby99 schrieb:

    Ich brauch mir nicht von Rotznasen sagen lassen was ich im Leben erreichen kann. Ich könnte vermutlich der Großvater von den meisten von euch sein - ich habe vielleicht schon mehr erreicht, als ihr jemals erreichen werdet.

    Deinem Alter entsprechend verhalten tust Du Dich jedenfalls nicht – oder Du kannst einfach nicht zählen. Ist aber egal. In Foren gilt eine andere Etikette als im Salon, aber auch im Salon würde Dein Verhalten wohl eher sauer aufstoßen.


Anmelden zum Antworten