Obliczanie odległości pkt od początku układu współrzędnych
dbe_benio
Obliczanie odległości punktów od początku układu współrzędnych,
znajdywanie największej odległości, sprawdzanie czy punkt należy
do koła o podanym promieniu.
/***********************************/
/* dbe_benio */
/* Obliczanie odleglosci pkt od */
/* poczatku ukladu wspolrzednych */
/* oraz sprawdzanie czy pkt nalezy */
/* do kola o podanym promieniu */
/***********************************/
//---------------------------------------------------------------------------
#pragma hdrstop
//---------------------------------------------------------------------------
#pragma argsused
//---------------------------------------------------------------------------
#include <iostream>
#include <math.h>
using namespace std;
void wprowadz( int rozmiar, float t[], char *ptr);
void pokaz();
void oblicz();
void dlugosc();
int rozmiar, licznik=0;
float promien;
float *tx;
float *ty;
int main(int argc, char* argv[])
{
char *x = "x";
char *y = "y";
cout << "Wprowadz ilosc punktow: ";
cin >> rozmiar;
cout << "\nWprowadz promien kola: ";
cin >> promien;
tx = new float[rozmiar];
ty = new float[rozmiar];
cout << "Wprowadzanie danych do tablicy X" << endl << endl;
wprowadz(rozmiar, tx, x);
cout << endl;
cout << "Wprowadzanie danych do tablicy Y" << endl << endl;
wprowadz(rozmiar, ty, y);
cout << endl;
cout << "Wspolrzedne wybranych punktow:" << endl << endl;
pokaz();
cout << endl;
dlugosc();
cout << endl;
oblicz();
cout << endl;
if(licznik==1)
cout << licznik << " punkt nalezy do kola o promieniu rownym " << promien << endl;
else
{
if(licznik>4)
cout << licznik << " punktow nalezy do kola o promieniu rownym "<< promien << endl;
else
cout << licznik << " punkty naleza do kola o promieniu rownym " << promien<< endl;
}
cout << endl;
delete [] tx;
delete [] ty;
system("pause");
return 0;
}
/*****************************************************/
void wprowadz(int rozmiar, float t[], char *ptr)
{
for(int i=0 ; i<rozmiar ; i++)
{
cout << "Wprowadz wspolrzedna " << ptr
<< " punktu nr: " << i+1 << endl;
cin >> t[i];
}
}
/******************************************************/
void pokaz()
{
for(int i=0; i<rozmiar; i++)
cout << "Wspolrzedne puntu nr " << i+1 << " wynosza: "
<< "(" << tx[i] << "," << ty[i] << ")" << endl;
}
/*****************************************************/
void oblicz()
{
float tmp=0;
for(int i=0; i<rozmiar; i++)
{
tmp=sqrt((tx[i]*tx[i])+(ty[i]*ty[i]));
if(tmp<promien)
{
licznik++;
cout << "Punkt o wsporzednych: (" << tx[i] << "," <<ty[i] <<")"
<< " nalezy do kola o promieniu "<< promien << endl;
}
else
{
cout << "Punkt o wsporzednych: (" << tx[i] << "," <<ty[i] <<")"
<< " nie nalezy do kola o promieniu "<< promien << endl;
}
}
}
/********************************************************/
void dlugosc()
{
float dlu=0;
float max=0;
for(int i=0; i<rozmiar; i++)
{
dlu=sqrt((tx[i]*tx[i])+(ty[i]*ty[i]));
cout << "Odleglosc punktu o wspolrzednych (" << tx[i] << "," <<ty[i] <<")"
<< " \nod poczatku ukladu wspolrzednych wynosi: " << dlu <<endl;
if(dlu>max)
max=dlu;
}
cout << "\nNajwieksza odleglosc od poczatku ukladu wspolrzednch wynosi: "
<< max << endl;
}
/**********************************************************/