1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Zahlen in Comal "sortieren"

Discussion in 'Programmieren' started by VinceBär, Feb 20, 2008.

Thread Status:
Not open for further replies.
  1. VinceBär

    VinceBär Megabyte

    Hi leute
    wie mache ich es, das Comal Zufallsgenerierte Zahlen in der "richtigen" (d.h. Die kleinste Zahl zuerst und dann immer größer werden) Reinfollge ausdruckt?
    Ich hab da echt keine Idee wie ich das machen kann.... Wäre euch dankbar wenn ihr mir nen Tipp geben könntet....
     
  2. RealC++

    RealC++ Kbyte

    Du speicherst die Zahlen in einem Array und sortierst dieses mittels Bubblesort.
    (Das sieht übrigens höchstens super kompliziert aus auf Wikipedia, in der Praxis ist das lächerlich einfach.-Ich kenne allerdings nicht mal die Syntax von COMAL sicher...:confused:)

    P.S.: Wir hatten ja schon mal etwas ähnliches, damals mit den Primzahlen...
    Die Sache ist, ich könnte dir ja den Code in C/C++ geben, verstehst du das evtl. mittlerweile?
    So oder so ist es irgendwie komisch, dass du ausgerechnet in COMAL programmierst, wo das doch so ziemlich kein Mensch kennt und dir deshalb keiner so recht helfen mag.
    Wieso steigst du nicht auf QBASIC oder so um, das ist prinzipiell das selbe in grün, nur dass das viele (ich selber habe nichts mit BASIC am Hut) sehr gut kennen?

    Code:
    int main(void){
    	int array[10]={1,1,5,4,3,9,8,7,51,2};
    
    	for(int i=1,int tmp;i<6;i++){
    	LABEL:
    		if(array[i-1]>array[i]){
    			tmp=array[i-1];
    			array[i-1]=array[i];
    			array[i]=tmp;
    			i=1;
    			goto LABEL;
    		}
    	}
    
    	//Die Elemente des Arrays array sind
    	//nun in aufsteigender Reihenfolge sortiert.
    }
    Wenn du das mit den Primzahlen hingekriegt hast, kannst du vielleicht diesen Code mal posten. Dann kann ich meinen Code evtl. in COMAL umschreiben, man findet sonst im Netz sogut wie nichts zu dieser Sprache und ein Beispiel täte gut.
     
  3. VinceBär

    VinceBär Megabyte

    Also mit dem Primzahlen sieht das so aus:
    Page //Löscht alles was auf dem Bildschirm ist
    Schalter=0
    Input Zahl //Die Variable Zahl wird eingegeben
    For t=2 to SQR(Zahl) //Start einer For-Schleife (SQR=Wurzel)
    If Zahl Mod t=0 Then //Die Division Zahl/t geht auf =keine Primzahl
    Print at 10,20: Zahl, " ist keine Primzahl" //ein Teiler gefunden
    Schalter=1
    Endif //Ende des If-Befehls
    Endfor t // Ende der For-Schleife
    Print at 10,20: zahl, " ist eine Primzahl"
    End

    Ist jetzt nen bischen unsauber Programiert aber tut seinen Zweck ;)
     
  4. RealC++

    RealC++ Kbyte

    Könnte es sein das du ein IF vergessen hast und es so aussehen müsste?
    Code:
    PAGE //Bildschirm loeschen
    
    schalter=0
    INPUT zahl
    
    FOR cnt=2 TO SQR(zahl)
    	IF zahl MOD cnt=0 THEN
    		PRINT AT 10,20: zahl, " ist keine Primzahl!"
    		schalter=1
    	ENDIF
    ENDFOR cnt
    
    IF schalter=0 THEN
    	PRINT AT 10,20: zahl, " ist eine Primzahl!"
    ENDIF
    
    END
    Hast du ein Beispiel wie man in COMAL mit Arrays umgeht?
     
  5. VinceBär

    VinceBär Megabyte

    Du hast recht ich hab wirklich ein If-Befehl vergessen.... Dein Tipp mit den Arrays hat mir gereicht.... Habs in der Schule hinbekommen... Allerdings schonwieder den Genauen Code vergessen.... Also: Danke für deine Hilfe....
    Wenn du darauf bestehst wie man das macht, werde ich mir das Prog. mal "mitnehmen" und hier abtippen ;)
     
Thread Status:
Not open for further replies.

Share This Page