Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
28.01.2002, 16:17
CabaL



wie initialisiere ich in c einen zufallsgenerator und wie weise ich einer variablen zufällige werte zu?
ich kenn nur von delphi
randomize
x:=random()+/-

--

..::I've carved my soul to shreds in service of the Cabal. What little humanity I retain is corrupted by the Beast, which has grown stronger with every life I've taken::.


Dieser Beitrag wurde am 28.01.2002 um 17:59 von CabaL- bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
28.01.2002, 16:56
CY4N1D3



delphi:
Var Var1: word;
randomize;
Var1 := Random(10000)+1;

C++:
srand(clock());
word Var1 = rand()*10000;

--

ob nun delphi, c oder java. kein programm lässt sich mit allen 3en gleichschnell entwickeln.

zum Seitenanfang zum Seitenende Profil || Suche
002
28.01.2002, 18:00
CabaL



und c?
ich hab mal ein kleines prog geschrieben, aber so scheint es nicht zu funzen:

Quellcode:#include <stdio.h>
#include <stdlib.h>
void main ()
{
        int number[1000];
        int a;
        int i;
        int j;
        int anz;

        randomize();
        printf("Gebe die Anzahl(max=1000) ein:");
        scanf("%d",&anz);
        for(i=1;i<anz;i++)
        {
                number[i]=rand()*40;
                
                while(j<anz)
                {
                        if number[i]<number[i+1]
                        a=number[i];
                        number[i]=number[i+1];
                        number[i+1]=a;
                        printf("\n%d",number[i]);
                        j++;
               }
        }
}

--

..::I've carved my soul to shreds in service of the Cabal. What little humanity I retain is corrupted by the Beast, which has grown stronger with every life I've taken::.

zum Seitenanfang zum Seitenende Profil || Suche
003
28.01.2002, 18:03
CabaL



hm? da ist ein darstellungsfehler es heisst if number...
ich mach mal ne klammer drum
also statt randomize() srand(clock())
aber das hier habe ich aus einem tutorial:
[i]
randomize() void stdlib.h Zufallsgenerator initialisieren

das wundert mich dann doch

[edit]ok es funzt, vielen dank[/edit]
[edit1]ist srand(clock()) nur in der stdlib.h zu finden ?[/edit1]

--

..::I've carved my soul to shreds in service of the Cabal. What little humanity I retain is corrupted by the Beast, which has grown stronger with every life I've taken::.


Dieser Beitrag wurde am 28.01.2002 um 18:08 von CabaL- bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
28.01.2002, 18:09
CabaL



hm irgendwie spinnt spinnt das prog?!?
weiss jmd. rat?

--

..::I've carved my soul to shreds in service of the Cabal. What little humanity I retain is corrupted by the Beast, which has grown stronger with every life I've taken::.


Dieser Beitrag wurde am 28.01.2002 um 18:38 von CabaL- bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
28.01.2002, 20:01
blair



ack RTFM

Quellcode:
#include <stdlib.h>
#include <time.h>

int myRand(int min,int max)
{
return (rand()%(max-min))+(min+1);
}

int main (int argc,char *argv[])
{
srand( (unsigned)time( NULL ) );

printf("%d",myRand(1,10));
return 1;
}

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
006
28.01.2002, 20:07
CabaL



hm is ja nett aber ich versteh fast nichts
<-nub

--

..::I've carved my soul to shreds in service of the Cabal. What little humanity I retain is corrupted by the Beast, which has grown stronger with every life I've taken::.

zum Seitenanfang zum Seitenende Profil || Suche
007
28.01.2002, 20:24
apfelkorn



mh... als pascalprogrammierer sollte das helfen

PROGRAM zufall
USES crt

FUNCTION myRand( min:INTEGER, max:INTEGER )
BEGIN
myRand = rand MOD (max - min) + min + 1
END

BEGIN
{ hier wurde eigentlich der zufallsgenerator initialisiert }

writeln('Meine Zufallszahl ist: ', myRand(1, 10));
END.

das Programm wird zwar nicht funktionieren, aber es ist hoffentlich in einen nicht allzufalschen pascal-syntax-reingedenkt

--

zum Seitenanfang zum Seitenende Profil || Suche
008
29.01.2002, 09:05
hausi



Zitat:
apfelkorn postete
mh... als pascalprogrammierer sollte das helfen

PROGRAM zufall
USES crt

FUNCTION myRand( min:INTEGER, max:INTEGER )
BEGIN
myRand = rand MOD (max - min) + min + 1
END

BEGIN
{ hier wurde eigentlich der zufallsgenerator initialisiert }

writeln('Meine Zufallszahl ist: ', myRand(1, 10));
END.

das Programm wird zwar nicht funktionieren, aber es ist hoffentlich in einen nicht allzufalschen pascal-syntax-reingedenkt


Der Syntax ist mehr oder weniger richtig...
Aber:
1. Variablen werden mit var:= x; zugewiesen
2. Jedes begin wird mit einem end; abgeschlossen, ausser das letzte end.
3. Jeder Befehl (mal ausgenommen Befehle direkt vor else) wird mit einem ; abgeschlossen.
4. Funktionen werden folgendermassen deklariert:
function MyFunction(Arg1: VarTyp1; Arg2: VarTyp2):ReturnTyp;
begin
...
end;
Das war wieder mal ein kleiner Crash-Kurs in Pascal. Und falls es euch nicht interessiert, einfach ignorieren...

--

zum Seitenanfang zum Seitenende Profil || Suche
009
29.01.2002, 11:10
apfelkorn



zu 3: ja, fast jeder, denn man kann den letzten befehl in einer prozedur nicht mit ; enden lassen, wenn man dafür den aufruf der prozedur mit einen ; enden lässt, was ja sowieso der fall ist...

das ist ein grund, warum ich pascal nicht mag... so kompliziert

--

zum Seitenanfang zum Seitenende Profil || Suche