Comecei a aprender como usar na minha última aula, mas ainda não entendi como aplicar muito bem. Comecei a fazer uma atividade, mas acabei me perdendo e não sei como completar pro programa funcionar.
A questão é que tenho que dizer se um ponto P (xp, yp) se encontra dentro, fora, ou na borca de um retangulo determinado por coordenadas também cartesianas: canto inferior esquerdo: x1, y1. E o canto superior direito: x2, y2.
O programa recebe os tres pares de valores e tem que dizer o que falei acima, se o ponto está dentro, fora ou na borda. Sei que estou no caminho, mas acabei travando.
Segue o código:
#include //aqui seria iostream
#include <stdlib.h>
using namespace std;
int main(int argc, char **argv){
int x1, y1, x2, y2, xp, yp;
int ehretangulo(int x1, int y1, int x2, int y2){
if(x1 == x2 || y1 == y2){
cout<<"Retangulo invalido!";
exit(0);
}
}
struct pontos {
int x1, y1, x2, y2;
};
pontos organizarpontos(int x1, int y1, int x2, int y2){
int aux = 0;
if(x1 > x2){
aux = x1;
x1 = x2;
x2 = aux;
}
if(y1 > y2){
aux = y1;
y1 = y2;
y2 = aux;
}
pontos P;
P.x1 = x1;
P.y1 = y1;
P.x2 = x2;
P.y2 = y2;
return pontos;
}
pontos P2 = organizarpontos(x1, y1, x2, y2);
x1 = P2.x1;
y1 = P2.y2;
x2 = P2.x2;
y2 = P2.y2;
int result = verificarpontos(x1, y1, x2, y2){
if(x1 < xp && xp < x2 && y1 < yp && yp < y2){
cout<<"O ponto P está dentro do retângulo";
}
else if(xp == x1 || xp == x2 || yp == y1 || yp == y2){
cout<<"O ponto P encontra-se na borda";
}
else{
cout<<"O ponto P está fora do retângulo";
}
}
return 0;
}
int main(){
cout<<"Insira os pontos x1, y1, x2, y2, xp, yp: ";
cin>>x1>>y1>>x2>>y2>>xp>>yp;
ehretangulo(x1, y1, x2, y2);
pontos P2 = organizarpontos(x1, y1, x2, y2);
x1 = P2.x1;
y1 = P2.y2;
x2 = P2.x2;
y2 = P2.y2;
int result = verificarpontos(x1, y1, x2, y2);
if(result < 0){
cout<<"está fora";
}else if(result >0){
cout<<"O ponto esta dentro";
}
else{
cout<<"O ponto está na linha";
}
}
return 0;
}