[langage C] verification
Résolu
nicochamadelol
Messages postés
78
Statut
Membre
-
kzanadeus Messages postés 70 Statut Membre -
kzanadeus Messages postés 70 Statut Membre -
Bonjour,
j'ai un programme a faire qui est:
Dans un repere du plan un point M est caractériser par ses 2 coordonnées xM et yM
un triangle est caractériser par la donnée de trois points du plan
on desir travailler sur la recherche de propriété eventuelle des triangles dont les sommet on pour abcisse des nombre entiers appartenant a l'intervalle[0 ; 1200] et pour ordonnée des nombres entiers appartenant a l'intervalle [0 ; 800]
on rapelle que le carré de la distance entre deux point A et B est donné par la formule
AB au carré =(xb-xa)au carré+(yb-ya)au carré
le programme doit demander les coordonnée des 3 point du triangle et dire si les donné sont acceptable et si le triangle est:
-rectangle
-isocele
-isocele rectangle
-equilatéral
-sans propriété
mon programme resemble a ca et je voudrai savoir si il n'y a pas de faute ou si il pourrai avoir des modifs a faire
merci de m'aider
#include <stdio.h>
int main()
{
int i ;
int x ;
int y ;
int dAB ;
int dBC ;
int dCA ;
int xA ;
int xB ;
int xC ;
int yA ;
int yB ;
int yC ;
int d1 ;
int d2 ;
int d3 ;
int Estrectangle ;
int Estisocele ;
int Estequi ;
for ( i=1 ; i<=3 ; i++ ) {
x=9999 ;
while (x>1200) {
printf("Saisir l'abcisse x du point n° %d\n",i) ;
scanf("%d", &x) ;
if (x>1200) {
printf("Erreur, doit etre inférieur a 1200\n") ;
}
}
y=9999 ;
while (y>800) {
printf("Saisir l'ordonnée y du point n° %d\n",i) ;
scanf("%d", &y) ;
if (y>800) {
printf("Erreur, doit etre inférieur a 800\n") ;
}
}
switch(i){
case 1:xA=x;yA=y;
case 2:xB=x;yB=y;
case 3:xC=x;yC=y;
}
}
dAB=((xB-xA)*(xB-xA))+((yB-yA)*(yB-yA));
dBC=((xC-xB)*(xC-xB))+((yC-yB)*(yC-yB));
dCA=((xA-xC)*(xA-xC))+((yA-yC)*(yA-yC));
printf("dAB= %d \n",dAB);
printf("dBC= %d \n",dBC);
printf("dCA= %d \n",dCA);
if((dAB<=dBC)&&(dAB<=dCA))
{
d1 = dAB;
if(dBC<=dCA)
{
d2=dBC;
d3= dCA;
}
else
{
d2=dCA;
d3=dBC;
}
}
if((dBC<=dAB)&&(dBC<=dCA))
{
d1 = dBC;
if(dAB<=dCA){
d2= dAB;
d3= dCA;
}
else{
d2=dCA;
d3=dAB;
}
}
if((dCA<=dBC)&&(dCA<=dAB)){
d1 = dCA;
if(dBC<=dAB){
d2= dBC;
d3= dAB;
}
else{
d2=dAB;
d3= dBC;
}
}
printf("d1= %d \n",d1);
printf("d2= %d \n",d2);
printf("d3= %d \n",d3);
if(d3==d1+d2){
Estrectangle=1;
}
if((dAB==dBC) || (dAB==dCA) || (dBC==dCA)){
Estisocele=1;
}
if((dAB==dBC) && (dAB==dCA) && (dBC==dCA)){
Estequi=1;
}
if((Estrectangle==1) && (Estisocele==1)){
printf("ce triangle est rectangle et isocèle\n");
}
else{
if(Estrectangle==1){
printf("ce triangle est rectangle\n");
}
if(Estisocele==1){
printf("ce triangle est isocele\n");
}
}
if(Estequi==1){
printf("ce triangle est equilatérale\n");
}
if ((Estequi==0)&& (Estisocele==0) &&(Estrectangle==0)){
printf("ce traingle n'a pas de propriété particulière\n");
}
return 0 ;
}
j'ai un programme a faire qui est:
Dans un repere du plan un point M est caractériser par ses 2 coordonnées xM et yM
un triangle est caractériser par la donnée de trois points du plan
on desir travailler sur la recherche de propriété eventuelle des triangles dont les sommet on pour abcisse des nombre entiers appartenant a l'intervalle[0 ; 1200] et pour ordonnée des nombres entiers appartenant a l'intervalle [0 ; 800]
on rapelle que le carré de la distance entre deux point A et B est donné par la formule
AB au carré =(xb-xa)au carré+(yb-ya)au carré
le programme doit demander les coordonnée des 3 point du triangle et dire si les donné sont acceptable et si le triangle est:
-rectangle
-isocele
-isocele rectangle
-equilatéral
-sans propriété
mon programme resemble a ca et je voudrai savoir si il n'y a pas de faute ou si il pourrai avoir des modifs a faire
merci de m'aider
#include <stdio.h>
int main()
{
int i ;
int x ;
int y ;
int dAB ;
int dBC ;
int dCA ;
int xA ;
int xB ;
int xC ;
int yA ;
int yB ;
int yC ;
int d1 ;
int d2 ;
int d3 ;
int Estrectangle ;
int Estisocele ;
int Estequi ;
for ( i=1 ; i<=3 ; i++ ) {
x=9999 ;
while (x>1200) {
printf("Saisir l'abcisse x du point n° %d\n",i) ;
scanf("%d", &x) ;
if (x>1200) {
printf("Erreur, doit etre inférieur a 1200\n") ;
}
}
y=9999 ;
while (y>800) {
printf("Saisir l'ordonnée y du point n° %d\n",i) ;
scanf("%d", &y) ;
if (y>800) {
printf("Erreur, doit etre inférieur a 800\n") ;
}
}
switch(i){
case 1:xA=x;yA=y;
case 2:xB=x;yB=y;
case 3:xC=x;yC=y;
}
}
dAB=((xB-xA)*(xB-xA))+((yB-yA)*(yB-yA));
dBC=((xC-xB)*(xC-xB))+((yC-yB)*(yC-yB));
dCA=((xA-xC)*(xA-xC))+((yA-yC)*(yA-yC));
printf("dAB= %d \n",dAB);
printf("dBC= %d \n",dBC);
printf("dCA= %d \n",dCA);
if((dAB<=dBC)&&(dAB<=dCA))
{
d1 = dAB;
if(dBC<=dCA)
{
d2=dBC;
d3= dCA;
}
else
{
d2=dCA;
d3=dBC;
}
}
if((dBC<=dAB)&&(dBC<=dCA))
{
d1 = dBC;
if(dAB<=dCA){
d2= dAB;
d3= dCA;
}
else{
d2=dCA;
d3=dAB;
}
}
if((dCA<=dBC)&&(dCA<=dAB)){
d1 = dCA;
if(dBC<=dAB){
d2= dBC;
d3= dAB;
}
else{
d2=dAB;
d3= dBC;
}
}
printf("d1= %d \n",d1);
printf("d2= %d \n",d2);
printf("d3= %d \n",d3);
if(d3==d1+d2){
Estrectangle=1;
}
if((dAB==dBC) || (dAB==dCA) || (dBC==dCA)){
Estisocele=1;
}
if((dAB==dBC) && (dAB==dCA) && (dBC==dCA)){
Estequi=1;
}
if((Estrectangle==1) && (Estisocele==1)){
printf("ce triangle est rectangle et isocèle\n");
}
else{
if(Estrectangle==1){
printf("ce triangle est rectangle\n");
}
if(Estisocele==1){
printf("ce triangle est isocele\n");
}
}
if(Estequi==1){
printf("ce triangle est equilatérale\n");
}
if ((Estequi==0)&& (Estisocele==0) &&(Estrectangle==0)){
printf("ce traingle n'a pas de propriété particulière\n");
}
return 0 ;
}
A voir également:
- [langage C] verification
- Langage ascii - Guide
- Verification lien internet - Guide
- Langage binaire - Guide
- Verification windows 11 - Guide
- Dl protect link verification en cours - Forum Téléchargement
1 réponse
Salut, sans vouloir être offensant tu devrais créer des fonction et non pas tout faire dans la même car sinon on'y voit rien du tout et puis évite d'utiliser 2000 variables, fait des tableaux ou des pointeurs sachant que tu as la chance de savoir combien tu va avoir de variable toi.
De plus si dans un if tu n'as qu'une ligne de commande mets la a coté sans {} comme cela ona moins de ligne et on comprend mieu.
Sinon sa m'a l'air correct et faire ce que tu souhaite.
;)
Cordialement
De plus si dans un if tu n'as qu'une ligne de commande mets la a coté sans {} comme cela ona moins de ligne et on comprend mieu.
Sinon sa m'a l'air correct et faire ce que tu souhaite.
;)
Cordialement