Wuerfeln

Schnelle objektorientierte, kompilierende Programmiersprache.
Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Wuerfeln

Beitrag von Dirty Oerti » Do Jan 07, 2010 3:25 pm

Ja, aber es ist mehr als nur schlechter Stil. Im Grunde ist dein Programm damit sogar falsch, obwohl es die richtigen Ergebnisse liefert.
Bei so wenig Speicherplatz ist das jetzt noch kein Problem, aber wenn man programmiert sollte man immer auch versuchen eine sinnvolle, möglichst effiziente Methode zu entwickeln.
Deswegen solltest du es schon abändern... und auch verstehen, warum du es so abändern musst.
Dann klappt beim nächsten mal die "Aufstellung" eines Algorithmus, was das ja jetzt eigentlich ist, woran es bei dir gelegen hat, viel schneller und zielsicherer.
Das nennt man dann lernen ;)
Und genau darum geht es ja beim "Programmieren lernen". Die "Befehle" lernen und einigermaßen aneinanderreihen kann jeder, wichtig ist, dass man einen Lösungsweg findet, der Sinn macht und gut funktioniert.
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
stampuhh
Beiträge: 211
Registriert: Sa Nov 07, 2009 4:39 pm
Wohnort: Paderborn

Re: Wuerfeln

Beitrag von stampuhh » Sa Jan 09, 2010 6:27 pm

So, da ich heute auch mal etwas mit C++ angefangen habe, hab ich mir gleich dieses Beispiel hier rausgesucht ;)

Daher jetzt auch von mir mal eine Version in C++

Code: Alles auswählen

#include <iostream>
#include <cstdlib>
using namespace std;

void wuerfeln(int anzahl);

int main()
{
	int anzahl=100;
	cout << "wie oft willst du wuerfeln?" <<endl;
	cin >> anzahl;
	wuerfeln(anzahl);
}

void wuerfeln(int anzahl)
{
	int wuerfelArray[] = {0,0,0,0,0,0};
	int i = 0;

	for(i = 0; i < anzahl; i++)
	{
		wuerfelArray[(rand() % 6 +1)-1]++;
	}

	for(i = 0; i < 6; i++)
	{
		cout << i+1 << ": " << wuerfelArray[i] << endl;
	}
}
gruß stampuhh
NachDenkSeiten.de

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Wuerfeln

Beitrag von Xin » So Jan 10, 2010 11:30 am

Dirty Oerti hat geschrieben:Ja, aber es ist mehr als nur schlechter Stil. Im Grunde ist dein Programm damit sogar falsch, obwohl es die richtigen Ergebnisse liefert.
Bei so wenig Speicherplatz ist das jetzt noch kein Problem, aber wenn man programmiert sollte man immer auch versuchen eine sinnvolle, möglichst effiziente Methode zu entwickeln.
Deswegen solltest du es schon abändern... und auch verstehen, warum du es so abändern musst.
Ich bin grundsätzlich Deiner Meinung, aber...

Wir haben auf der Arbeit gerade das gleiche Problem: Die Indizes beginnen mit 1, 0 ist ein ungültiger Index. Die vorherige Entwicklung unterschied zwischen internen Indizes (ab 0) und externen (ab 1), die laufend hin- und herkonvertiert werden müssten. Beides waren Integer und hoffentlich wurden sie nie verwechselt. Das Gganze für zehntausende Objekte.
Irgendwo stellt sich auch die Frage, ob man ein kleines Objekt herumliegen hat, was niemand braucht oder ob man sich einen Wolf konvertiert. Nun gibt es nur noch Instanzen von class BlablaIndex, die - sofern eine Konvertierung (es gibt negative Indizes, die das negierte Objekt beschreibt) notwendig ist, diese intern druchführen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten