Sortieren von Zahlen
-
Es gibt drei Alternativen, einen Kuchen zu bekommen:
1- Selberbacken. Dabei hat man sich vorher die Grundlagen beigebracht.
2- Selberbacken. Aber Grundlagen? Ach, wozu denn?
3- Kaufen.Variante 1 ist toll und auf jeder Party ein Hit.
Variante 2 ist immer ein Reinfall. Der Pullover ist voller Mehl, die Küche sieht aus wie Sau, und schmecken tut's wie … äh, reden wir nicht drüber.
Variante 3 ist idiotensicher. Man hat sich zwar nicht berühmt gemacht, aber der Aufwand ist minimal und das Resultat ist von den Partygästen gerngesehen.Wieso ich das erzähle? Och, ich fand's lustig. Beim Programmieren verwendet man Variante 3. Wenn man zuviel Zeit und zuwenig Geld hat, Variante 1. Variante 2 verwendet man nicht. Weder beim Backen noch beim Programmieren.
Und wenn Dein C++-Compiler kein „algorithm“ kennt, dann wirf ihn in die Tonne und besorg Dir (kostenlos!) einen richtigen, unter Windows die Visual Studio C++ Express Edition und unter anderen Systemen nen GCC.
Aber ich bezweifle eigentlich, dass Dein Compiler mit „algorithm“ Probleme hat. Ich denke eher, das bist Du. Da Du aber keinen Code gezeigt hast und auch keine genaue Fehlermeldung, wird das mit dem Backen wohl eher nichts.
/EDIT: Ach so, Microprozessor. Na, dann Ärmel hochgekrempelt und ran an Variante 1. Aber trotzdem wundert mich eigentlich, dass man hier „algorithm“ weggelassen haben sollte.
-
Herby99 schrieb:
Na klar, mache ich gleich nachdem ich Amerika entdeckt habe ...
... ist ja lustigBloß, weil du es nicht kannst, heißt das noch lange nicht, dass das schwierig ist. Das ist kein Grund sich hier ungerecht behandelt zu fühlen. Man hat dir schon einige Lösungen genannt, aber nichts ist dir recht. So, wie du dich aufführst, hast du nur eine Möglichkeit. Bezahl jemandem Geld, damit er dir die Funktion in dein Programm schreibt.
Dein Problem ist so trivial, dass man auf eine oder zwei Lösungen ohne weiteres kommen kann, ohne vorher jemals gewusst zu haben, wie das funktionier. Du müsstest nur ein winziges kleines bisschen C lernen. Aber dir das anscheinend zu hoch ist, solltest du jemanden dafür bezalhen.
-
Bezahl jemandem Geld, damit er dir die Funktion in dein Programm schreibt.
Aber dir das anscheinend zu hoch ist, solltest du jemanden dafür bezalhen.
Schnorr hier nicht herum - da gibt es kein Geld zu verdienen !
Am besten ist es, ihr hackt den Thread ab. Ich werd aus euch nicht schlau - und ihr wohl auch nicht aus mir.
Ich bekomm es auch ohne eure Hilfe irgendwann gebacken - zum Glück eilt es ja nicht.Wünsche noch schönes Pistenwetter
-
Herby99 schrieb:
Schnorr hier nicht herum
Ist schon lustig. In den Augen der meisten Foren-Leser bist Du es, der gerade schnorrt.
-
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.