Schrauben sortieren
-
Hallo, wir haben nun wieder eine Ausarbeitung bekommen in der wir ein Programm schreiben sollen welches Daten aus einer Datei ausliest diese nach drei unterschiedlichen auszuwählenden Parametern sortiert und diese sortiert an die Datei zurück gibt.
Sortiert werden soll das ganze in einer Unterfunktion mit dem Straight Selection – Algorithmus.Das Problem ist das keiner aus unserer Gruppe weiss wie dies Realisiert werden soll.
Von daher bin ich für jede Hilfestellung und Tip sehr dankbar.Schonmal vielen dank für eure Hilfe!
-
void sort(sinput a, sinput b) { if (b.x > a.x ) { switch(a,b); }else if (b.x == a.x) { if (b.y > a.y) { switch (a, b); } else ... } }
so ungefähr
-
Woran liegts?
Algorithmus, oder c/c++?
Ersteres bekommst du ausführlich erklärt, wenn du google bemühst ... auch Wikipedia hat was dazu. Bei Zweiterem wirst du schon konkreter werden müssen.
-
Es liegt an der generellen Programmierung.
Wir hatten lediglich einen Grundkurs im Programmieren der es uns nicht ermöglicht solch komplexe Dinge zu schreiben.
Welche Informationen sind den wichtig?
-
was wichtig ist?
das ihr eurem lehrer sagt das ihr die aufgabe nicht erledigen könnt, weil ihr das ja (wahrscheinlich) nicht gelernt habt.
keiner weiß was ihr gelernt habt, können solltet und wie, mit welchen mitteln, ihr die aufgabe lösen sollt.in der regel ist es so, das man die aufgaben lösen kann mit den mitteln die man gelernt hat. wenn man diese denn beherrscht.
-
Stimmt schon...im Studium ist das ganze aber etwas anders gehalten zumindest in diesem Fach. Es sind uns ein paar Dokumente gegeben die Programmierbefehle enthalten und nun sollen wir daraus die benötigten Informationen ziehen.
-
Da würd ich sagen, ein Vokableheft macht noch keinen Dolmetger/Dolmetscher..
Methodik ist viel wertvoller als der Sprachschatz.
-
w0lver!ne schrieb:
Stimmt schon...im Studium ist das ganze aber etwas anders gehalten zumindest in diesem Fach. Es sind uns ein paar Dokumente gegeben die Programmierbefehle enthalten und nun sollen wir daraus die benötigten Informationen ziehen.
mann sollte ruhig zu den vorlesungen hingehen, i.d.r. bekommt man dort alle notwendigen infos.
-
Wir haben keine Vorlesungen diesbezüglich. Nur Praktikas und da war ich anwesend.
-
das ist halt uni. was erwartet ihr? dass einer herkommt und euch das beibringt wie in der schule?
was genau studiert ihr denn? müsst ihr es in C lösen? kann man die dokumente einsehen, die ihr bekommen habt? (online z.b.)
der algorithmus ist einfach. beginnt aber am besten nicht gleich damit. probiert erst mal einzelschritte: die ausgabe eines elements, das durchlaufen eines arrays mit einer schleife (for-schleife) und das vertauschen zweier elemente im array. wenn das klappt, könnt ihr auch bestimmt den algorithmus implementieren.@DocJunioR
switch ist wohl keine gute wahl für einen funktionsnamen. du meinst eher swap.
-
Wir studieren Maschinenbau und wir müssen das ganze in C programmieren. Die Unterlagen sind stammen von einer anderen FH und sind unter folgendem Link einsehbar.
http://www.rzbt.haw-hamburg.de/dankert/c_tutor.html/
Es handelt sich dabei um die "ctutor" Pdf-Dateien von 1-4
-
dann wird da wohl auch drin stehen, was eine switch anweisung ist.
nachdem du dir das zu gemüte geführt und eventuell ein kleines übungsbeispiel programmiert hast, wirst du sehr schnell einsehen das so etwas wieswitch(a,b);
nicht machbar ist.
-
damit ihr eure aufgabe lösen könnt, solltet ihr euch die folgenden kapitel durchlesen: 2.1, 3.1-3.5, 3.7, 3.10-3.15 und 6. wir können euch leider c nicht beibringen hier im forum. und die zeit, euch das programm zu schreiben, wird auch keiner haben. diese kapitel müsst ihr unbedingt gelesen haben, bevor ihr hier sinnvolle fragen stellen könnt. in einem team könnt ihr ja die verschiedenen kapitel aufteilen, damit es schneller geht. 2.1 und 3.1-3.4 müssen aber alle lesen.
-
exstudent schrieb:
mann sollte ruhig zu den vorlesungen hingehen, i.d.r. bekommt man dort alle notwendigen infos.
lol frau aber auch...
-
Hi, wir haben nun das meiste geschafft und stehen nun vor dem Problem das wir eine Auswahl treffen müssen was sortiert werden soll.
Hier ersteinmal der Quelltext
for (i=0, d=0; i< MAX, d<29; i++, d=d+3) durchmesser[i]=arr[d]; for (i=0, l=1; i<MAX, l<29; i++, l=l+3) laenge[i]=arr[l]; for (i=0, a=1; i<MAX, a<29; i++, a=a+3) anzahl[i]= arr[a]; printf ("Wonach sollen die sortiert werden?\n"); printf (""1" um nach Durchmesser zu sortieren:\n"); printf (""2" um nach Laenge zu sortieren:\n"); printf (""3" um nach Anzahl zu sortieren:\n"); scanf("%d", &v); if (&v=1) printf ("\n\nSchrauben nach Durchmesser sortieren:\n"); straightSelection (durchmesser,MAX); if (&v=2) printf ("\n\nSchrauben nach Laenge sortieren:\n"); straightSelection (laenge,MAX); if (&v=3) printf ("\n\nSchrauben nach Anzahl sortieren:\n"); straightSelection (anzahl,MAX);
Im groben und ganzen haben wir uns gedacht die Auswahl über if oder ähnliches zu treffen. Funktionieren tut es allerdings nicht.
Bitte schaut mal drüber und sagt mir was da falsch ist.
Vielen dank schonmalMfg
w0lver!ne
-
if (&v=1)
Das allein müßte schon mal
if (v==1)
heißen
-
Hi, könnte mir vielleicht jemand erklären wozu die drei for-Schleifen dienen die in meinem oberen Quellcode stehen?
Mfg
w0lverine