Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import iut.algo.Clavier;
- /** Class Le carre magique
- * @author Monster
- * date : 18/11/2019
- */
- public class TP6_CarreMagique
- {
- public static boolean verifNbChiffre(int[][] tab)
- {
- boolean verif_Nombre = false;
- int a=1;
- while (a <= 9)
- {
- int cpt_Nombre=0;
- for (int i=0; i<tab.length; i++)
- {
- for (int j=0; j<tab.length; j++)
- {
- if (tab[i][j] == a)// Compte la présence du nombre
- {
- cpt_Nombre++;
- }
- }
- }
- a++;
- if (cpt_Nombre != 1){verif_Nombre = false;}
- else{verif_Nombre = true;}
- }
- return verif_Nombre;
- }
- public static boolean verifSomme(int[][] tab)
- {
- final int TAILLE = 3;
- int somme=0, sommeRef=0;
- boolean bOk;
- boolean[] nombre;
- nombre = new boolean [(TAILLE*TAILLE)+1];
- for(int cpt=0; cpt<(TAILLE*TAILLE)+1; cpt++)
- {
- nombre[cpt]=false;
- }
- bOk=true; // On initialise le bOk à vrai
- for(int numlign=0;numlign<TAILLE;numlign++)// On met tout à vrai notre tableau de boolean
- {
- for(int numcol=0;numcol<TAILLE;numcol++)
- {
- if(nombre[tab[numlign][numcol]])
- {
- bOk=false;
- }
- else
- {
- nombre[tab[numlign][numcol]]=true ;
- }
- }
- // Compte si la somme de la ligne est différent de celle de la colonne
- sommeRef=0;
- for(int numlign2=0; numlign2<TAILLE;numlign2++)
- {
- sommeRef=sommeRef+tab[numlign2][numlign2];
- }
- for(int numlign3=0; numlign3<TAILLE;numlign3++)
- {
- somme=0;
- for(int numcol2=0;numcol2<TAILLE;numcol2++)
- {
- somme=somme+tab[numlign3][numcol2];
- }
- }
- if(somme != sommeRef) // Si la somme de la ligne est différent de celle de la colonne
- {
- bOk=false;
- }
- }
- // Compte la somme des lignes
- somme=0;
- for(int numlign4=0; numlign4<TAILLE;numlign4++)
- {
- somme=somme+tab[numlign4][TAILLE-1-numlign4];
- }
- if(somme != sommeRef) // Si la somme de la ligne est différent de celle de première ligne
- {
- bOk=false;
- }
- return bOk;
- }
- public static String Affichage(int[][] tab)
- {
- String retour = " ";
- for(int i=0; i<tab[0].length; i++)
- {
- retour = retour + " " + i + " ";
- }
- retour = retour + "\n +";
- for(int i=0; i<tab[0].length; i++)
- {
- retour = retour + "---+";
- }
- retour = retour + "\n";
- for(int i=0; i<tab.length; i++)
- {
- retour = retour + i + " ";
- if(i<10) retour = retour + " ";
- retour = retour + "| ";
- for(int j=0; j<tab[i].length; j++)
- {
- retour = retour + tab[i][j] + " | ";
- }
- retour = retour + "\n +";
- for(int j=0; j<tab[i].length; j++)
- {
- retour = retour + "---+";
- }
- retour = retour + "\n";
- }
- return retour;
- }
- public static void main(String[] a)
- {
- /*----------------------*/
- /* Données */
- /*----------------------*/
- int[][] tabCarreMagique;
- tabCarreMagique = new int[3][3];
- int nb_Joueur=0;
- int nb_Joueur_Centre=0;
- boolean carre;
- /*----------------------*/
- /* Instructions */
- /*----------------------*/
- System.out.print("Entrer un nombre qui se placera au centre : " + " ");
- nb_Joueur_Centre = Clavier.lire_int();
- tabCarreMagique[1][1] = nb_Joueur_Centre;
- /* Remplit le tableau de nombre saisit par l'utilisateur*/
- for (int i=0; i<tabCarreMagique.length; i++)
- {
- for (int j=0; j<tabCarreMagique.length; j++)
- {
- if (tabCarreMagique[i][j] == tabCarreMagique[1][1]){tabCarreMagique[i][j] = tabCarreMagique[1][1];}
- else
- {
- System.out.println(TP6_CarreMagique.Affichage(tabCarreMagique));
- System.out.print("Entrer votre chiffre : (case " + i + ";" + j + ")" + " ");
- nb_Joueur = Clavier.lire_int();
- tabCarreMagique[i][j] = nb_Joueur;
- }
- }
- }
- System.out.println(TP6_CarreMagique.Affichage(tabCarreMagique));
- carre = verifSomme(tabCarreMagique);
- if (carre) { System.out.println("Bravo ! C'est un carre magique");}
- else{System.out.println("Dommage ! Ce n'est pas un carre magique");}
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement