Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #define PI 3.14159265358979323846
- /* Definicija tacke i kruznice */
- struct Tacka {
- float x,y;
- };
- struct Kruznica {
- struct Tacka centar;
- float poluprecnik;
- };
- struct Pravougaonik {
- struct Tacka gore_desno;
- struct Tacka dole_lijevo;
- };
- /* Funkcije za unos */
- struct Tacka unos_tacke() {
- struct Tacka t;
- printf ("Unesite koordinate tacke (x, y):\n");
- scanf ("%f,%f", &t.x, &t.y);
- return t;
- }
- struct Kruznica unos_kruznice() {
- struct Kruznica k;
- printf ("Unesite centar kruznice:\n");
- k.centar = unos_tacke();
- printf ("Unesite poluprecnik kruznice:\n");
- scanf("%f", &k.poluprecnik);
- return k;
- }
- /* Dodatne Funkcije */
- float obim_kruznice(struct Kruznica k) {
- float o;
- o = 2 * k.poluprecnik * PI;
- return o;
- }
- float povrsina_kruznice(struct Kruznica k) {
- float p;
- p = k.poluprecnik * k.poluprecnik * PI;
- return p;
- }
- /* Funkcija za obim pravougaonika */
- float obim_pravougaonika(struct Pravougaonik p){
- float a, b, o;
- a=sqrt((p.gore_desno.x - p.dole_lijevo.x) * (p.gore_desno.x - p.dole_lijevo.x));
- b=sqrt((p.gore_desno.y - p.dole_lijevo.y) * (p.gore_desno.y - p.dole_lijevo.y));
- o = 2*(a+b);
- return o;
- }
- /* Funkcija za povrsinu pravougaonika*//
- float povrsina_pravougaonika(struct Pravougaonik p){
- float a, b, povrs;
- a=sqrt((p.gore_desno.x - p.dole_lijevo.x) * (p.gore_desno.x - p.dole_lijevo.x));
- b=sqrt((p.gore_desno.y - p.dole_lijevo.y) * (p.gore_desno.y - p.dole_lijevo.y));
- povrs = a*b;
- return povrs;
- }
- int tacka_u_pravougaoniku(struct Tacka t, struct Pravougaonik p) {
- if((t.x>p.gore_desno.x || t.x<p.dole_lijevo.x) || (t.y>p.gore_desno.y || t.y<p.dole_lijevo.y)) return 0;
- else return 1;
- }
- /* Funkcija za udaljenost izmedju dvije tacke */
- float udaljenost(struct Tacka t1, struct Tacka t2) {
- return sqrt( (t1.x-t2.x)*(t1.x-t2.x) + (t1.y-t2.y)*(t1.y-t2.y) );
- }
- /* Glavni program: Da li je tacka unutar kruznice */
- int main() {
- struct Kruznica k;
- struct Tacka t;
- struct Pravougaonik p;
- float d;
- printf ("Unesite kruznicu:\n");
- k = unos_kruznice();
- printf ("Unesite neku tacku:\n");
- t = unos_tacke();
- /* Tacka se nalazi unutar kruznice ako je udaljenost tacke od centra
- kruznice manja od poluprecnika kruznice */
- d = udaljenost(t, k.centar);
- if (d<k.poluprecnik)
- printf("Tacka je unutar kruznice.\n");
- else if (d==k.poluprecnik)
- printf("Tacka je na kruznici.\n");
- else
- printf("Tacka je izvan kruznice.\n");
- /* Edits */
- printf("Obim kruznice: %.3f\n", obim_kruznice(k));
- printf("Povrsina kruznice: %.3f", povrsina_kruznice(k));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement