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
| #include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int main()
{
int grille [9][9]={{0,0,0,3,7,8,4,9,0},{7,8,0,0,0,4,0,1,0},{5,0,0,0,0,1,8,3,7},{1,0,0,7,5,0,2,0,2},{0,0,8,0,0,6,0,5,1},{9,0,0,0,0,0,7,6,4},{2,9,0,1,0,0,0,0,8},{0,1,0,0,8,0,0,7,6},{0,3,7,6,0,0,1,0,9}};
int L; // Ligne
int C; // Colonne
int valeur,I=0,J=0,RC,RL,FLAG=0,FLAG2=0,k;
int ligne[200],colonne[200],old[200],new[200],coup;
do
{
for(I=0;I<=8;I++)
{
for(J=0;J<=8;J++)
{
printf("%3d",grille[I][J]);
if(J==2 || J==5) printf(" ");
}
printf("\n");
if(I==2 || I==5) printf("\n");
}
do
{
printf("\n");
printf("entrez le numero de la ligne :");
scanf("%i",&L);
}while(L<0||L>10);
do
{
printf("entrez le numero de la colonne :");
scanf("%i",&C);
}while(C<0||C>10);
do
{
printf("entrez la valeur au numero de la ligne %i et de la colonne %i :",L,C);
scanf("%i",&valeur);
}while(valeur<0||valeur>10&&valeur!=0);
printf("\n");
printf("\n");
for (J=0;J<9;J++)//test sur la ligne
{
if(grille[L][J]==valeur)
{
printf("impossible la valeur est deja presente dans la ligne\n");
FLAG=1;
J=9;
}
for (I=0;I<9;I++)//test sur la colonne
{
if(grille[I][C]==valeur)
{
printf("impossible la valeur est deja presente dans la colonne\n");
I=9;
J=9;
FLAG=1;
}
}
}
RL=L/3;
RC=C/3;
for(I=RC*3;I<((RC*3)+3);I++)
{
for(J=RL*3;J<((RL*3)+3);J++)
{
if(grille[J][I]==valeur)
{
printf("impossible la valeur est deja presente dans la region\n");
FLAG=1;
I=((RC*3)+3);
J=((RL*3)+3);
}
}
}
if(FLAG=0);
{
grille[L][J]=valeur;
}
}while(FLAG2=1);
/*
printf("GRAS");printf("SOULIGNE");printf("clear_scr");
printf(" Numero du coup Ligne Colonne Ancienne valeur Nouvelle valeur \n");
printf("NORMAL");printf("SOULIGNE");
for(I=0;I<coup;I++)
{
J++;
printf("|%3d |%d |%d |%d |%d |\n",I+1,ligne[I],colonne[I],old[I],new[I]);
if(J>=20)
{
getch();
printf(" Numero du coup Ligne Colonne Ancienne valeur Nouvelle valeur\n");
printf("NORMAL");printf("SOULIGNE");
J=0;
}
}
getch();
}
*/
system("pause");
} |
Partager