Beispiel 1: Schreibe ein Programm, dass einen Lottoschein mit 10 Quicktipps ausgibt. Verwende dazu ein mehrdimensionales Array.
Variante1 - Ohne Unterprogramme
// Name: quicktipp1.cpp // Inhalt: Ermittlung von Quicktipps // --------------------------------------------------------------------- #include <iostream> using namespace std; int main() {int schein[10][6]={0}; srand(time(0)); cout<<"Lottoschein mit 10 Quicktipps: \n\n"; for (int j=0;j<10;j++) // 10 Tipps ermitteln {srand(rand()%10000); for (int i=0;i<6;i++) {schein[j][i]=rand()%45+1; // Zufallszahl zwischen 1 und 45 cout << schein[j][i] << " "; } cout << endl; } getchar(); return 0; }
Variante2 - Mit Parameterübergabe an ein Unterprogramm und Ausschließen von doppelten Zahlen
// Name: quicktipp2.cpp // Inhalt: Ermittlung von Quicktipps // --------------------------------------------------------------------- #include <iostream> using namespace std; void quicktipp(int s[10][6]) {for (int j=0;j<10;j++) // 10 Tipps ermitteln {srand(rand()%10000); for (int i=0;i<6;i++) { s[j][i]=rand()%45+1; for(int k=0;k<i;k++) { //Durchlaufe die vorhandenen Einträge if(s[j][i]==s[j][k]) { //und überprüfe sie auf Gleichheit mit dem //aktuellen Einträge i--; //ist die Zahl bereits vorhanden, so setze //Zähler i zurück, damit diese Zufallszahl //automatisch nochmals erzeugt wird! } } } } } int main() {int schein[10][6]={0}; srand(time(0)); cout<<"Lottoschein mit 10 Quicktipps: \n\n"; quicktipp(schein); for (int j=0;j<10;j++) {for (int i=0;i<6;i++) cout << schein[j][i] << " "; cout << endl; } getchar(); return 0; }
Variante3 - Mit Typdefinition und Parameterübergabe an ein Unterprogramm
// Name: quicktipp3.cpp // Inhalt: Ermittlung von Quicktipps // --------------------------------------------------------------------- #include <iostream> using namespace std; typedef int lottoschein[10][6]; void quicktipp(lottoschein s) {for (int j=0;j<10;j++) // 10 Tipps ermitteln {srand(rand()%10000); for (int i=0;i<6;i++) { s[j][i]=rand()%45+1; for(int k=0;k<i;k++) { //Durchlaufe die vorhandenen Einträge if(s[j][i]==s[j][k]) { //und überprüfe sie auf Gleichheit mit dem //aktuellen Einträge i--; //ist die Zahl bereits vorhanden, so setze //Zähler i zurück, damit diese Zufallszahl //automatisch nochmals erzeugt wird! } } } } } int main() {lottoschein schein={0}; srand(time(0)); cout<<"Lottoschein mit 10 Quicktipps: \n\n"; quicktipp(schein); for (int j=0;j<10;j++) {for (int i=0;i<6;i++) cout << schein[j][i] << " "; cout << endl; } getchar(); return 0; }
Variante4 - Mit alternativer Typdefinition und Parameterübergabe an ein Unterprogramm
// Name: quicktipp4.cpp // Autor: N.N. // Inhalt: Ermittlung von Quicktipps // --------------------------------------------------------------------- #include <iostream> using namespace std; typedef int lottotipp[6]; typedef lottotipp lottoschein[10]; void quicktipp(lottoschein s) {for (int j=0;j<10;j++) // 10 Tipps ermitteln {srand(rand()%10000); for (int i=0;i<6;i++) { s[j][i]=rand()%45+1; for(int k=0;k<i;k++) { //Durchlaufe die vorhandenen Einträge if(s[j][i]==s[j][k]) { //und überprüfe sie auf Gleichheit mit dem //aktuellen Einträge i--; //ist die Zahl bereits vorhanden, so setze //Zähler i zurück, damit diese Zufallszahl //automatisch nochmals erzeugt wird! } } } } } int main() {lottoschein schein={0}; srand(time(0)); cout<<"Lottoschein mit 10 Quicktipps: \n\n"; quicktipp(schein); for (int j=0;j<10;j++) {for (int i=0;i<6;i++) cout << schein[j][i] << " "; cout << endl; } getchar(); return 0; }