Mehrdimensionale Arrays

Quicktipp-Programm

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[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()
{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[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()
{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;
}