tous les entiers de 1 à 9.Vous devez créer un logiciel qui permet de charger des grilles de Sudoku à partir de fichiers, de manipuler les grilles (placements, vérifications), puis enfin de reproduire...




tous les entiers de 1 à 9.




Vous devez créer un logiciel qui permet de charger des grilles de Sudoku à partir de fichiers, de manipuler les grilles (placements, vérifications), puis enfin de reproduire de nouveau les grilles soit à l’écran soit dans des fichiers. Les fichiers de Sudoku comportent une suite de triplets de chiffres séparés par des espaces, où chaque triplet correspond à :







  • x: numéro de la ligne.



  • y: numéro de la colonne.



  • z: valeur






En informatique, on numérote le plus souvent des colonnes et des rangées en commençant par zéro.




Exemples:





Contenu du fichier partie1.txt






001 012 023 034 045 056 067 078 089 102 113 124 135 146 157 168 179 181 203 214 225 236 247 258 269 271 282 304 315 326 337 348 359 361 372 383 405 416 427 438 449 451 462 473 484 506 517 528 539 541 552 563 574 585 607 618 629 631 642 653 664 675 686 708 719 721 732 743 754 765 776 787 809 811 822 833 844 855 866 877 888







Contenu du fichier partie2.txt






016 112 214 319 417 511 618 713 815 027 129 221 328 425 523 626 722 824 033 138 235 332 436 534 631 737 839 048 141 243 347 449 545 644 746 842 059 157 252 351 454 556 655 758 853 065 164 266 363 462 568 667 769 861 074 173 279 376 471 577 672 775 878 081 186 288 385 483 582 689 784 887 092 195 297 394 498 599 693 791 89







Contenu du fichier partie3.txt






014 116 218 313 411 517 615 712 819 022 127 225 324 428 529 623 726 821 031 133 239 335 436 532 637 734 838 045 148 246 349 447 541 642 743 844 057 159 252 356 454 553 651 758 855 063 161 264 362 465 568 669 767 866 079 174 273 371 472 576 678 775 877 086 182 287 388 489 585 684 781 883 098 195 291 397 493 594 696 799 892







Dans ces exemples, les données ne sont pas nécessairement correctes. C’est votre travail de créer un programme qui peut traiter les erreurs.




Vous pouvez créer un tel fichier sur votre machine avec un éditeur de texte ou vous pouvez utiliserle projet repl.it préconfiguréoù ce fichier apparaît déjà.




Fonctionnalités/classes demandées


Votre programme doit faire trois opérations spécifiques:





  1. Charger un fichier contenant des données selon le format spécifié (une suite de triplets de chiffres séparés par des espaces). Vous pouvez choisir l’approche que vous préférez. Le fichier peut être récupéré en ligne, par l’ouverture d’un fichier sur votre disque ou par l’entrée standard (stdin). Votre code doit gérer les erreurs de lecture.



  2. Valider que le fichier correspond à un tableau Sudoku valable. C’est-à-dire qu’il doit correspondre à un tableau 9×9 où chaque chiffre de 1 à 9 apparaît une seule fois par colonne et une seule fois par rangée. Pour les fins de ce travail, nous n’exigeons pas que chaque sous-grille de 3×3 contienne tous les chiffres de 1 à 9 (vous pouvez cependant faire cette vérification supplémentaire si vous le souhaitez). En cas d’erreur, votre programme doit générer une exception.



  3. Votre programme doit ensuite appliquer une transposition au tableau correspondant à un calcul dematrice transposéeet afficher le résultat à l’écran. Au lieu de l’afficher à l’écran, vous (en tant que programmeur) pouvez l’enregistrer comme nouveau fichier ou utiliser un autre moyen de transmission. Choisissez l’approche qui vous plaît le plus en tant que programmeur. Vous devez tester votre solution avec plus d’une grille; en particulier, incluez une grille qui est asymétrique (qui n’est pas identique à sa transposée) dans vos tests. Donnez le résultat d’au moins deux tests différents, au-delà du fichier partie1.txt. Vous pouvez utiliser des saisies d’écran pour présenter vos résultats.






Vous devez expliquer votre programme avec soin et en détail. Chaque fonction et chaque variable du programme doit être justifiée. Les qualifiants (static, public, protected et private) doivent être justifiés un par un: vous ne pouvez pas utiliser le mot-clé « static » sans le justifier. Si vous remettez votre code sans explications claires et sans tout justifier, une note de zéro pourra être attribuée, sans possibilité de reprise.




Si le code de votre solution n’est pas du Java valable, s’il ne compile pas, une note de zéro pourra être attribuée. Pour réussir ce cours, vous devez être capable d’écrire du code Java fonctionnel et correct.

Feb 12, 2023
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here