Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Array mit zufälligen Zahlen erstellen und ordnen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
GRADY



Anmeldungsdatum: 07.11.2006
Beiträge: 1

BeitragVerfasst am: 07.11.2006, 20:20    Titel: Array mit zufälligen Zahlen erstellen und ordnen Antworten mit Zitat

Jo Hallo

wir machen inner Schule im moment QBASIC und jetzt sollen wa nen Programm schreiben.
In diesem Programm sollen 15 Zahlen in einem Array gespeichert werden und zufällig erstellt werden.
Dannach soll man sie ordnen (von klein nach groß) und ausgeben.
Wie macht man nun das ???


Editiert durch Moderator: Betreffzeile aussagekräftiger gestaltet. (A.K.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dark_King



Anmeldungsdatum: 24.07.2006
Beiträge: 109
Wohnort: Neustetten - BW

BeitragVerfasst am: 07.11.2006, 20:36    Titel: Antworten mit Zitat

Um Zahlen zufällig zu erstellen solltest du

Code:

RANDOMIZE TIMER
for x = 1 to 15
     variable(x) = INT(RND * 10) 'oder *100 ...
next x


verwenden

und so ordnest du die Zahlen: cool

Code:

for y = 1 to 15
for x = 1 to 15
     if variable(x) < variable(x+1) then
        tauschvariable = variable(x)
        variable(x) = variable(x+1)
        variable(x+1) = tauschvariable 'Fehler korrigiert :D
     end if
next x
next y


mfg

Dark_King

PS: könntest du auch alles über die Forumssuche herausfinden... oder schau mal ins MonsterFAQ zwinkern
_________________


Zuletzt bearbeitet von Dark_King am 07.11.2006, 21:11, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 07.11.2006, 20:40    Titel: Antworten mit Zitat

Normalerweise machen wir hier keine Hausaufgaben, sondern, wenn nach diesen gefragt wird, Links zu ähnlichen (bzw. gleichen) Problemstellungen.

Wenn du mehr zum Hintergrund erfahren willst, schaue mal bei Wikipedia unter dem Begriff "BubbleSort". Das is' für den Anfang das Leichteste, und so wie ich sehen konnte, hat Dark_King das auch so gelöst.
Wenn man's noch 'nen bissl eleganter Lösen möchte (ohne "tauschvariable"), dann schau mal in der QB-Onlinehilfe (Schlüsselwort schreiben und dann F1 drücken) nach SWAP. lächeln

Grüßle,
Mao
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 07.11.2006, 20:49    Titel: Antworten mit Zitat

Nein, Dark_King hat das nicht so gelöst, wie es bei BubbleSort ist, denn sein Beispiel kann nicht funktionieren.

Code:
tauschvariable = variable(x)
variable(x) = variable(x+1)
variable(x+1) = variable(x)


Du speicherst den inhalt von v(x+1) in v(x), eine zeile weiter speicherst du den inhalt von v(x) in v(x+1). Somit ist v(x)=v(x+1).
Der Code müsste so lauten:

Code:
for y = 1 to 15
for x = 1 to 15
     if variable(x) < variable(x+1) then
         Swap variable(x), variable(x+1)      'vertauscht den inhalt der beiden variablen
     end if
next x
next y


Wenn man das so lösen möchte, wie du das gemacht hast, dann sieht das so aus:

Code:
for y = 1 to 15
for x = 1 to 15
     if variable(x) < variable(x+1) then
        tauschvariable = variable(x)
        variable(x) = variable(x+1)
        variable(x+1) = tauschvariable     'hier war dein fehler
     end if
next x
next y


Hab nicht getestet, beide Code-"Schnipsel" sollten aber funktionieren. zwinkern

Edit: Bevor ich es vergesse: Damit jeder weiß, worum es geht, solltest du keine allgemeine Titel wie "ne dumme frage", sonder etwas wie "Arrayinhalte nach größe ordnen" nehmen lächeln
_________________
Code:
#include "signatur.bi"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 07.11.2006, 21:02    Titel: Antworten mit Zitat

Muss zugeben, hab mir das Code-Beispiel net wirklich (genau) (genug) angeschaut, sah aber BubbleSort-ähnlich aus. grinsen lachen

(Deswegen soll man auch bloß nach Hinweisen und nicht nach kompletten Lösungen fragen! Zunge rausstrecken lachen)
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dark_King



Anmeldungsdatum: 24.07.2006
Beiträge: 109
Wohnort: Neustetten - BW

BeitragVerfasst am: 07.11.2006, 21:10    Titel: Antworten mit Zitat

War natürlich Absicht grinsen ich wollte, doch nicht die ganze Arbeit allein übernehmen Zunge rausstrecken

Das mit SWAP geht natürlich auch, hab ich halt bisher net so oft verwendet und deshalb vergessen... mit den Augen rollen

mfg

Dark_King
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 07.11.2006, 21:46    Titel: Antworten mit Zitat

bubble sort stinkt happy google mal nach "insertion sort", ist fast genauso einfach aber 100 mal schneller.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz