StarCraft 2 Forum | inStarCraft.de by ingame™  
Alt 25. Juni 2003, 12:47   #1
RaUpE-8472-
 
Beiträge: n/a
C++ Frage

Advertising
Abend die Dam'

Ich habe die einfache Aufgabe eine Zufallszahl zwischen 1 und 10 ziehen zu lassen. Bei einer 2 abbrechen zu lassen und danach das arithmetische Mittel (Summe geteilt durch die Anzahl) errechnen zu lassen: mein Problem: random(num) gibt Random integers von "0" beginnend an. Nun gut habs so gelöst dass ich einfahc imm er einen drauf addiere. Desweiteren schmeisst Random(num) immer wieder die gleich Zahl raus. Wenn ich sch schreibe random(11) kommt immer die "7" wenn ich schreib random(90) kommt zB immer die 50.
hab bisher folgenedes:


#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void main ()
{
float x=0;
float y=0;
float z=0;
float a;
while (x !=2)
{
x=random (9)+1;
cout <<x;
getch ();
y=y+1;
z=z+y;
}
a=z/y;
cout <<a;
getch ();
}

arithmetisches Mittel ist imemr: 1.5 egal wie oft ich das prog ausführe. Hab das auch schon mit Klasse und Destruktor gemacht, aber irgendwie hat das auch nix genützt

hlp pleas0r
 
Mit Zitat antworten
Alt 25. Juni 2003, 13:11   #2
ViperDK
 
Benutzerbild von ViperDK
Archon
 
Registriert seit: Jul 2001
Ort: Nürnberg
BNet-Account: ViperDK
BNet2-Account: ViperDK
Beiträge: 2.017
ViperDK eine Nachricht über ICQ schicken
natuerlich spuckt random fuer den gleichen initialwert immer die gleiche zahl raus. deshalb uebergibt man ja auch als initialwert den aktuellen timestamp.
ViperDK ist offline  
Mit Zitat antworten
Alt 25. Juni 2003, 13:19   #3
ViperDK
 
Benutzerbild von ViperDK
Archon
 
Registriert seit: Jul 2001
Ort: Nürnberg
BNet-Account: ViperDK
BNet2-Account: ViperDK
Beiträge: 2.017
ViperDK eine Nachricht über ICQ schicken
hier nen beispiel aus der msdn (http://msdn.microsoft.com)

Code:
/* RAND.C: This program seeds the random-number generator
 * with the time, then displays 10 random integers.
 */

#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void main( void )
{
   int i;

   /* Seed the random-number generator with current time so that
    * the numbers will be different every time we run.
    */
   srand( (unsigned)time( NULL ) );

   /* Display 10 numbers. */
   for( i = 0;   i < 10;i++ )
      printf( "  %6d\n", rand() );
}
ViperDK ist offline  
Mit Zitat antworten
Alt 25. Juni 2003, 13:24   #4
The_Company
 
Beiträge: n/a
z=z+x; muss es ausserdem sein.

http://cplus.about.com/library/weekly/aa041303a.htm btw, Google > me
 
Mit Zitat antworten
Alt 25. Juni 2003, 13:39   #5
Scheinkultur
 
Beiträge: n/a
Re: C++ Frage

Header File

stdlib.h

Category

Math Routines

Syntax

#include <stdlib.h>
#include <time.h>
void randomize(void);

Description

Initializes random number generator.

randomize initializes the random number generator with a random value.

Return Value

None.

----

MfG
 
Mit Zitat antworten
Alt 25. Juni 2003, 13:46   #6
RaUpE-8472-
 
Beiträge: n/a
wie wend ich das an. schreib ma nen syntaktisches beispiel bitte

dangöö
 
Mit Zitat antworten
Alt 25. Juni 2003, 14:18   #7
RaUpE-8472-
 
Beiträge: n/a
ok habs. wen es interessiert: einfach ein randomize(); vor die schleife setzen
 
Mit Zitat antworten
Alt 25. Juni 2003, 14:38   #8
Morag
 
Beiträge: n/a
Re: C++ Frage

Zitat:
Original geschrieben von RaUpE-8472-
y=y+1;
z=z+y;
--> y++;
--> z+=x;

Ist schliesslich kein Pascal
 
Mit Zitat antworten
Alt 25. Juni 2003, 16:30   #9
Atheist2
 
Beiträge: n/a
Ach richtig: www.freepascal.org
 
Mit Zitat antworten
Antwort
Zurück   StarCraft 2 Forum | inStarCraft.de by ingame™ > Support Foren > Technik/Software-Forum

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:42 Uhr.


Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.


ingame Netzwerk
Support | AGB | Probleme mit der Werbung melden
Online Werbung | Mediadaten | Unternehmen | Karriere | Presse | Impressum

© ingame GmbH, ingame™, in™ und incup™ sind eingetragene Markenzeichen der ingame GmbH. Verwendung von Inhalten nur mit schriftlicher Genehmigung.