Einzelnen Beitrag anzeigen
Alt 06.11.2004, 13:25   #2 (permalink)
Gast
Gast
 

Registriert seit: 22.01.2002
Beiträge: 20.356

Gast befindet sich auf einem aufstrebenden Ast

Standard

Stell mal meinen Code rein, den ich bis jetzt geschafft habe, aber er spuckt als Zufallszahl immer nur die 1 raus?

Code:
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
#include <time.h>

int Zufallszahl(int n)
{
/*
	int zufall=(double(srand(time(NULL)))/RAND_MAX )*n;
*/
	srand(time(NULL));
	int zufall=rand()%n;
	cout<<"Zufall rand()="<<zufall<<endl;
	if(zufall==0)
	{
		zufall=1;
		return zufall;
	}
	else
	{
		return zufall;
	};
	return 0;
}

int ggT(int a, int b)
{
	int d,r_neu,r_alt=1;
	if(a<b)
	{
		d=b;
		r_neu=a;
	}
	else
	{
		d=a;
		r_neu=b;
	};
	while(r_neu!=0)
	{
		r_alt=r_neu;
		r_neu=d%r_neu;
		d=r_alt;
	}
	return d;
}

void main()
{
	int const Versuche_Gesamt=7;
	int Zufallszahlen[Versuche_Gesamt];
	double Versuche_k=0;
	int Zeugen_nicht_Primzahl_a=0;
	int Primzahl_Test_Gesamt_n=20;
	int Primzahl_Frage=10;
	int Zufallszahl_z;

	for(int h=1;h<=Versuche_Gesamt;h++)
	{
		Zufallszahlen[h]=0;
	};


	for(h=1;h<=Versuche_Gesamt;h++)
	{
		Zufallszahlen[h]=Zufallszahl(Primzahl_Frage-1);
	};


	for(h=1;h<=Versuche_Gesamt;h++)
	{
		cout<<"Zufall im Array Stelle "<<h<<" ="<<Zufallszahlen[h]<<endl;
	};
	cin.get();

	for(Primzahl_Frage;Primzahl_Frage<Primzahl_Test_Gesamt_n;Primzahl_Frage++)
	{
		h=1;
		while(Versuche_k<Versuche_Gesamt||Zeugen_nicht_Primzahl_a>=(Primzahl_Frage-1)*0.5)
		{
			Zufallszahl_z=Zufallszahlen[h];
			cout<<Zufallszahl_z<<"=Zufall Zeile 56"<<endl;
			if(ggT(Zufallszahl_z,Primzahl_Frage)==1)
			{
				cout<<"ggT=1 von z und n; Zeile 58"<<endl;
				Versuche_k++;
			}
			else
			{
				cout<<"ggT>1 von z und n; Zeile 63"<<endl;
				Zeugen_nicht_Primzahl_a++;
			};
			cout<<"Runde vorbei Zeile 66"<<endl;
			h++;
		};
		if(Versuche_k>=Versuche_Gesamt)
		{
			cout<<Primzahl_Frage<<" ist eine Primzahl"<<endl;
		};
		if(Zeugen_nicht_Primzahl_a>=(Primzahl_Frage-1)*0.5)
		{
			cout<<Primzahl_Frage<<" ist keine Primzahl"<<endl;
		};
	};
	cin.get();
};
Bitte, hat keiner einen kleinen Rat, oder Vorschlag es anders zu machen?

Danke,
MfG
Stefan
Gast ist offline   Mit Zitat antworten