1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217
| public class Loto
{
public static void main (String [] args)
{
int [] jeu = new int[5];
int numChance = 0;
System.out.println();
System.out.println("Ce programme simule le jeu LOTO");
System.out.println("Saisissez vos 5 numeros entre 1 et 49 inclus");
int i = 0;
do
{
for( i = 0; i < 5; i++)
{
jeu[i] = Lire.entierInt();
}
if(!tabDansIntervalle(jeu) )
{
System.out.println("recommencez : vos numeros ne sont pas tous bons");
}
}
while( !tabDansIntervalle(jeu) );
int [] tirage = new int[5];
do
{
tirage = tabloIntHasard();
}
while( !tabSansDoublons(tirage) );
System.out.println();
System.out.print("tirage par ordre de sortie : ");
affichTab(tirage);
System.out.println("\n");
System.out.print("tirage par ordre croissant : ");
tabOrdreCroissant(tirage);
affichTab(tirage);
System.out.println();
System.out.print("Votre jeu, ordre croissant : ");
tabOrdreCroissant(jeu);
affichTab(jeu);
System.out.println("\n ");
int n = cardINTERtabs(jeu, tirage);
if(n > 0)
{
System.out.print("Vous avez trouve " + n + (" numero(s) : "));
System.out.print("");
tabINTERtab(jeu, tirage);
}
else
{
System.out.println("Vous n avez trouve aucun numero");
}
}
//1. Ecrire une méthode qui, étant donné un tableau d'entiers,
//affiche les valeurs de ce tableau sur la même ligne
public static void affichTab(int [] tab)
{
for(int i = 0; i < tab.length; i++)
{
if( i == tab.length - 1)
{
System.out.print(tab[i]);
}
else
{
System.out.print(tab[i] + " - ");
}
}
}
//2. Ecrire une méthode qui retourne un tableau de 5 entiers
//dont les valeurs sont pris au hasard de 1 à 49 (inclus)
public static int [] tabloIntHasard ()
{
int [] tab = new int [5];
for(int i = 0; i < tab.length; i++)
{
tab[i] = (int)( (Math.random() * 49) + 1);
}
return tab;
}
//3. Ecrire une méthode qui étant donné un nombre entier et un tableau
//d'entiers, vérifie la présence ou non de cet entier dans ce tableau
public static boolean nombreDansTableau(int entier, int [] tabEntier)
{
boolean verite = false;
for(int i = 0; i < tabEntier.length; i++)
{
if( entier == tabEntier[i] )
{
verite = true;
break;
}
}
return verite;
}
//4. Ecrire une méthode qui, étant donné un nombre entier et un tableau
//d'entiers, retourne le nombre de fois où l'on trouve cet entier
// dans ce tableau
public static int nbreEltDansTablo(int entier, int [] tabEntier)
{
int nombre = 0;
for(int i = 0; i < tabEntier.length; i++)
{
if( entier == tabEntier[i] )
{
nombre++;
}
}
return nombre;
}
//5. Ecrire une méthode qui, étant donné un tableau d'entiers,
//vérifie l'absence de doublons
public static boolean tabSansDoublons(int [] tabEntier)
{
boolean verite = true;
for(int i = 0; i < tabEntier.length; i++)
{
if( nbreEltDansTablo(tabEntier[i], tabEntier) > 1 )
{
verite = false;
break;
}
}
return verite;
}
// 6. Ecrire une méthode qui, étant donné un tableau d'entiers,
//retourne le même tableau. Mais cette fois, les nombres sontclassés
//par ordre croissant.
public static void tabOrdreCroissant(int [] tabEntier)
{
for(int i = 0; i < tabEntier.length - 1; i++)
{
for(int j = 0; j < tabEntier.length - 1; j++)
{
if( tabEntier[j] > tabEntier[j+1] )
{
int temp = tabEntier[j];
tabEntier[j] = tabEntier[j+1];
tabEntier[j+1] = temp;
}
}
}
}
// 7. Ecrire une méthode qui, étant donné 2 tableaux d'entiers,
//retourne le nombre de valeurs qu'on trouve simultanément dans
// les 2 tableaux. (le cardinal de l'intersection)
public static int cardINTERtabs(int [] tabEntier1, int [] tabEntier2)
{
int card = 0;
for(int i = 0; i < tabEntier1.length; i++)
{
if( nombreDansTableau(tabEntier1[i], tabEntier2) )
card++;
}
return card;
}
// 8. Ecrire une méthode qui, étant donnés 2 tableaux d'entiers,
// affiche les valeurs communes aux 2 tableaux
public static void tabINTERtab(int [] tabEnt1, int [] tabEnt2)
{
for(int i = 0; i < tabEnt1.length; i++)
{
for(int j = 0; j < tabEnt2.length; j++)
{
if(tabEnt1[i] == tabEnt2[j] )
System.out.print(tabEnt1[i] + " ");
}
}
}
//Ecrire une méthode qui, étant donné un tableau d'entiers, vérifie
//que ces valeurs sont comprises entre 1 et 49
public static boolean tabDansIntervalle(int [] tab)
{
boolean verite = true;
for(int i = 0; i < tab.length; i++)
{
if(tab[i] < 1 || tab[i] > 49)
{
verite = false;
}
}
return verite;
}
} |
Partager