Sortieren von Zahlen
-
Herby99 schrieb:
Schnorr hier nicht herum - da gibt es kein Geld zu verdienen !
Ist schon interessant, was sich manche Leute rausnehmen ...
-
Herby99 schrieb:
Schnorr hier nicht herum - da gibt es kein Geld zu verdienen !
Ich hab es bestimmt nicht nötig, hier "herumzuschnorren". Immerhin hab ich dir einen Lösungsansatz gegeben und das, obwohl du mich hier mit total trivialer Fragerei nervst und kein bisschen selber tun willst.
-
Bitteschön...:
int array[] = {1,4,7,6,5,3,2,1}; size_t size = sizeof(array)/sizeof(int); for( int i = 0; i < size; ++i ) for( int j = 0; j < size - i - 1; ++j ) if( array[ j ] < array[ j + 1 ] ) { int tmp = array[ j ]; array[ j ] = array[ j + 1 ]; array[ j + 1 ] = tmp; }
-
Dankeschön...
Vielen Dank für deinen Hilfeversuch.
Leider aber funzt der Code bei mir nicht. Es dürfte sich bei meiner IDE um ANSI C handeln. Wenn man den Quellcode kompiliert werden 13 Errors angezeit. Zulässig sind 0 Errors.
Habe ein paar Veränderungen versucht, bringt aber nichts.
-
du solltest mal damit anfangen, dir nicht nur zu überfliegen, was die leute hier schreiben, sondern auch mal auf die links draufklicken.
zeig deinen source-code her und poste die fehlermeldungen, vielleicht ist ja trotz allem jemand so gütig, dir zu helfen, aber ein herumgeschreie à la "das funktioniert nicht, fünftausend fehler!!111eineinself".
-
Herby99 schrieb:
Dankeschön...
Vielen Dank für deinen Hilfeversuch.Leider aber funzt der Code bei mir nicht. Es dürfte sich bei meiner IDE um ANSI C handeln. Wenn man den Quellcode kompiliert werden 13 Errors angezeit. Zulässig sind 0 Errors.
Habe ein paar Veränderungen versucht, bringt aber nichts.Dann wäre es vielleicht das Beste, wenn du einen neuen Thread im C-Forum aufmachst und dort mal postest, was du so an Code bereits hast (aber schön in Tags [cpp] [/cpp] einschließen)
-
queer_boy schrieb:
du solltest mal damit anfangen, dir nicht nur zu überfliegen, was die leute hier schreiben, sondern auch mal auf die links draufklicken.
zeig deinen source-code her und poste die fehlermeldungen, vielleicht ist ja trotz allem jemand so gütig, dir zu helfen, aber ein herumgeschreie à la "das funktioniert nicht, fünftausend fehler!!111eineinself".
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.
Ich versuche hier einen µC zu programmieren, kein Computerprogramm zu schreiben. Hier bei mir sieht die Umgebung eben etwas anders aus als auf deinem Screen.
Den Code lade ich bewusst nicht hoch. Zum einen sind es doch schon mehr als 400 Zeilen, und zum andern möchte nicht zur Unterhaltung des Forums den Code zur Verfügung stellen. Da hättest was zum Lachen, wie kompliziert der herby das schreibt - aber Lachen ist nich
-
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
-
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.
-
Achso, na gut. Der kann ja deine Header-Datei nicht kennen, ich hatte einfach mal angenommen, die 400 Zeilen Code wären alle in einer Datei.
Hast du den Code eigentlich selbst geschrieben oder ist der von jemand anders? Oder andersrum: Verstehst du den Code?
-
du bist lustig. wie soll dir irgendjemand helfen, wenn du aber auch *gar* keine information hergibst?
weißt du wenigstens, welche stelle in den 400 zeilen die relevante stelle ist, um die es geht?
-
Badestrand schrieb:
Achso, na gut. Der kann ja deine Header-Datei nicht kennen, ich hatte einfach mal angenommen, die 400 Zeilen Code wären alle in einer Datei.
Hast du den Code eigentlich selbst geschrieben oder ist der von jemand anders? Oder andersrum: Verstehst du den Code?Teile des Codes sind aus anderen Anwendung reinkopiert. Andere Teile habe ich selbst erstellt. Die selbst erstellten Anteile kapier ich schon. Die kopierten Teile sind nur zur initierung des Displays, zur positionierung der Zeichen, etc. Da brauch ich auch nichts zu Ändern, das passt gerade so.
Es sollte ein Lottozahlen-Generator werden. Eigentlich wollte ich Zufallsfunktion testen. Die gibt aber immer den "selben" Zufall aus - dh. es wird immer die gleiche Zahl geeriert. Hab ich auch irgendwo nachgelesen, dass das mit der 'randomize'Anweisung so ist.
Nun habe ich eben selbst was gebastelt um Zufällige Zahlen in einem definierten Bereich zu erstellen. Und das klappt mittlerweile ganz gut. Es werden ständig sechs Zahlen erstellt, so lange man eine Taste festhält. Durch kleine Pausen im Code sieht das am Display optisch so aus als würden die richtig gemischt. Lässt man die Taste los, werden sechs Zahlen angezeigt. Doppelte Zahlen gibt es auch nicht.Nun wäre es natürlich schön, wenn die Zahlen auch noch in aufsteigender Reihenfolge angezeigt werden könnten. Wichtig zur Funktion ist es freilich nicht, aber sieht eben besser aus.
Die sechs Zahlen sind in jeweils einer Variablen. Die sechs Variablen könnte ich als vor der Ausgabe ans Display sortieren - wenn ich nur wüsste wie
-
Die kopierten Teile sind nur zur initierung des Displays, zur positionierung der Zeichen, etc. Da brauch ich auch nichts zu Ändern, das passt gerade so.
den teil lässt du weg.
Andere Teile habe ich selbst erstellt.
den teil zeigst du uns.
Nun habe ich eben selbst was gebastelt um Zufällige Zahlen in einem definierten Bereich zu erstellen. Und das klappt mittlerweile ganz gut.
sieh, den teil kannst du auch weglassen.
Es werden ständig sechs Zahlen erstellt, so lange man eine Taste festhält. Durch kleine Pausen im Code sieht das am Display optisch so aus als würden die richtig gemischt. Lässt man die Taste los, werden sechs Zahlen angezeigt.
und genau der teil ist der relevante. dort, wo die zahlen generiert und ausgegeben werden, kann man dir mit einem sortierverfahren helfen.
Die sechs Zahlen sind in jeweils einer Variablen. Die sechs Variablen könnte ich als vor der Ausgabe ans Display sortieren - wenn ich nur wüsste wie
du speicherst die zahlen in einem array, sortierst das array und gibst das array dann aus.
-
__
-
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).