ponto dentro do retangulo


/ Published in: C
Save to your folder(s)

questao 2


Copy this code and paste it in your HTML
  1. /*Questao 2: Leia dois pontoso do usuario, em seguida continue lendo outros pontos ate
  2. que uma coordenada negativa seja dada. Para o ponto dado imprima se ele esta contido no
  3. retangulo formado pelos primeiros 2 pontos dados.
  4. */
  5.  
  6. #include<stdio.h>
  7.  
  8. int main(){
  9. // ponto 1
  10. float px1, py1;
  11.  
  12. printf("digite as coordenadas do primeiro ponto: \n");
  13. scanf("%f %f", &px1, &py1);
  14.  
  15. // ponto 2;
  16. float px2, py2;
  17.  
  18. printf("digite as coordenadas do segundo ponto: \n");
  19. scanf("%f %f", &px2, &py2);
  20.  
  21. // variáveis auxiliares
  22. float x_esq, x_dir;
  23.  
  24. // quem está mais a esquerda?
  25. if( px1 < px2 ) {
  26. x_esq = px1;
  27. x_dir = px2;
  28. }
  29. else {
  30. x_esq = px2;
  31. x_dir = px1;
  32. }
  33.  
  34. // variáveis auxiliares
  35. float y_cima, y_baixo;
  36.  
  37. // quem está mais abaixo?
  38. if( py1 < py2 ){
  39. y_baixo = py1;
  40. y_cima = py2;
  41. }
  42. else {
  43. y_baixo = py2;
  44. y_cima = py1;
  45. }
  46.  
  47. float px, py;
  48.  
  49. while( 1 ) {
  50. printf("digite as coordenadas de um ponto (coordenada negativa termina o programa): \n");
  51. scanf("%f %f", &px, &py);
  52.  
  53. if(
  54. (x_esq <= px && px <= x_dir) && // coordenada x do ponto está entre os x's de p1 e p2
  55. (y_baixo <= py && py <= y_cima ) ) // coordenada y do ponto está entre os y`s de p1 e p2
  56. {
  57. printf( "Ponto cadastrado está dentro do retangulo.\n");
  58. }
  59. else{
  60. printf( "Ponto cadastrado não está dentro do retangulo.\n");
  61. }
  62.  
  63. if( px < 0.0 || py < 0.0 ){
  64. break;
  65. }
  66.  
  67. printf( "Coordenadas cadastradas foram positivas. Ler coordenadas mais uma vez.\n" );
  68. }
  69.  
  70. return 0;
  71. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.