Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Sortieren, DRINGEND

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
19.12.2006, 15:58 Uhr
~blaine
Gast


Hallo !

Ich bin Schüler und lerne gerade C/C++ und habe jetzt folgende Aufgabenstellung :

Ich hab ein Feld (Feld[20]) Deklariert. In allen Feldvariablen hab ich mit srand() Zufallszahlen reingemacht.

Jetzt soll ich da die größte raussuchen und ausgeben.

Kann mir dabei bitte jemand helfen ?

Viele liebe Grüße,

bLaInE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
19.12.2006, 16:13 Uhr
alex309



sortiere dein feld mit bubblesort z.B. und gib die letzte zahl aus.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.12.2006, 16:23 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


bei so nem kleinen feld ist das feld zu sortieren überflüssig, geh einfach von anfang bis ende durch und merk dir immer das höchste element. hat ne laufzeit von n mit maximal n vergleiche, die meisten sortieralgos sind bei dem kleinen feld völlig überladen und haben da schon teilweise größere laufzeiten
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
19.12.2006, 16:25 Uhr
ao

(Operator)


Sollst du das ganze Feld sortieren (-> Posting-Titel) oder nur das größte Element finden (-> Posting-Text)?

@alex: Wenn er gerade den ersten Kontakt mit Arrays hat, ist bubblesort wohl noch etwas zu kompliziert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
19.12.2006, 16:27 Uhr
0xdeadbeef
Gott
(Operator)


...und was ist daran dringend?

Wir brauchen wirklich diesen "Wir sind kein verdammter Hausaufgabenservice"-Smiley. Bzw. Frowney.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 19.12.2006 um 16:27 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.12.2006, 16:40 Uhr
alex309



kommt drauf an ob er schon schleifen hatte
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
19.12.2006, 18:27 Uhr
~blaine
Gast


Hallo !

Naja erstens sinds ma keine Hausaufgaben sondern eher ne Verständnisfrage.

Bubblesort sagt mir nichts.

Ich denke ein Algorithmus der das Feld "durchschaut" und die größte ausgibt sollte es sein.
Vielleicht geht das ja mit ner Zweiseitigen Auswahl ?

Also ich soll nur die größte zahl ausgeben.

Danke für die Hilfe

Viele liebe Grüße,

bLaInE
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
19.12.2006, 18:42 Uhr
schokomann



Mach dir doch noch ein zweites Feld mit gleicher Größe und da
schreibst Du die Zahlen aus dem ersten Feld sortiert rein.

Nimm die ersten beiden Zahlen aus deinem Feld, vergleich die
und schreib die kleinere an Position 0 und die Größere an Position 1
in dem 2ten Feld.

Jetzt holst Du dir die dritte Zahl aus Feld 1 und vergleichst die mit allen
Zahlen aus dem sortierten Feld. Stelle fest an welche Position die neue
Zahl stehen müsste. Ist die neue Zahl größer als alle anderen kannst Du Sie
einfach hinten anhängen, ansonsten verschieb in dem sortierten Feld alle
nachfolgenden Zahlen eine Position weiter und füge deine Zahl an der
entsprechenden Position ein.

Anschließend kannst Du das sortierte Feld ausgeben.

Das kann man dann entsprechend für Strings machen über Zeiger.
Irgendwo gibt es Hilferufe nach einer Sortierung von Strings mit Zeigern.

Für den Vergleich von Strings nimmt man dann die Funktion strcmp.

int strcmp( const char *string1, const char *string2 );

Liefert die < 0 zurück ist string1 kleiner als string2, bei = 0 gleich
und den Rest kann man sich denken.

Viel Spaß bei hacken und ich hoffe, dass ich geholfen habe.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
19.12.2006, 18:56 Uhr
ao

(Operator)



Zitat von ~blaine:
Ich denke ein Algorithmus der das Feld "durchschaut" und die größte ausgibt sollte es sein.

Na dann... Schleife über alle Feldelemente und Maximumsuche, d.h. das i-te Element mit dem bis dato größten vergleichen. Das größte Element merkt man sich in einer Variablen und gibt es nach Schleifenende aus.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
19.12.2006, 19:43 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat:

Zitat von ~blaine:
Ich denke ein Algorithmus der das Feld "durchschaut" und die größte ausgibt sollte es sein.

Na dann... Schleife über alle Feldelemente und Maximumsuche, d.h. das i-te Element mit dem bis dato größten vergleichen. Das größte Element merkt man sich in einer Variablen und gibt es nach Schleifenende aus.

ao

Also das was ich bereits sagte
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: