alesssall |
|
| #include <iostream> #include <iostream>
using namespace std; bool trovato [DIMM] = {false}; int nA, nR; struct punto { float x,y }; const int DIMM=100; typedef punto poligono [DIMM]; typedef punto rettangolo [DIMM];
void Letturapunto ( punto P); void Letturarettangolo ( rettangolo R ); void Letturapoligono (poligono A ); void Ricerca ( poligono A, rettangolo R ); void Letturapunto (punto P) { cout << "Inserire la x="<<endl; cin >> P.x; cout << "Inserire la y="<<endl; cin >> P.y; }
void Letturarettangolo ( rettangolo R) { cout << "Inserire i vertici del rettangolo"<<endl; nR=4; R= new punto [nA]; for ( int i=0; i<nr ; i++) { cout << "vertice "<<i<<endl; Letturapunto (R[i]); } }
void Letturapoligono ( poligono P ) { cout << "Inserire il numero dei vertici del poligono "<<endl; cin >> nA; A= new punto [nA]; for (int i=0; i<na; i++) { cout << "Vertice "<<i<<endl; Lettura punto ( A[i]); } } punto top (rettangolo R, int nA) { nA=4; int indmax ; float ymax=R[0].y; for (int i=0; i<na; i++) { ymax=R[i].y; indmax=i; } return R[indmax]; } punto down (rettangolo R, int nA) { nA=4; int indmax ; float ymin=R[0].y; for (int i=0; i<na; i++) if (A[i].y<ymin) { ymin=R[i].y; indmax=i; } return R[indmax]; }
void Ricerca ( poligono A, rettangolo R) { for (int i=0; i<na; ) { if ( A[i].y < R[i].y & A[i].y > R[i]) trovato [i]= true; }
for ( int i =0; i<na;i++) cout << "Il punto "<<i<<" del polligono"<<endl; while ( trovato [i]) { cout << "Appartiene al rettangolo"<<endl; } cout <<"Non appartiene"<<endl; }
int main () { cout << "PROGRAMMA CHE VERIFICA SE IL PUNTI DEL VERTICE SONO CONTENUTI NEL RETTANGOLO"<<endl; Letturapunto ( punto P); Letturarettangolo ( rettangolo R ); Letturapoligono (poligono A ); Ricerca ( poligono A, rettangolo R); system ("PAUSE"); return 0; }
Esercizio: Dichiarare un tipo 'rettangolo' costituito da 4 punti che rappresentano i vertici. Scrivere una funzione che verifica se un poligono è interamente contenuto dentr un rettangolo
|
| |