TAD

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include <stdlib.h> #include <math.h> #include "tad_r2.h" int main(void) { float x, y; Ponto *a = cria(1.0,1.0); Ponto *b = cria(4.0,4.0); acessa (a,&x,&y); printf ("Ponto a(%.2f, %.2f) \n", x,y); acessa (b,&x,&y); printf ("Ponto b(%.2f, %.2f) \n", x,y); float c = distancia (a,b); printf ("Distancia entre pontos: %f\n", c); c = distanciaL1 (a,b); printf ("Distancia L1 entre pontos: %.2f\n", c); c = calculo_soma (a,b); printf ("Soma entre pontos: %.2f\n", c); c = calculo_sub (a,b); printf ("Subtracao entre pontos: %.2f\n", c); libera(a); libera(b); return 0; }
typedef struct ponto Ponto; Ponto* cria (float x, float y); void libera (Ponto* p); void acessa (Ponto* p, float* x, float* y); void atribui (Ponto* p, float x, float y); float distancia (Ponto* p1, Ponto* p2); float distanciaL1 (Ponto* p1, Ponto* p2); float calculo_soma (Ponto* p1, Ponto* p2); float calculo_sub (Ponto* p1, Ponto* p2);
#include <stdio.h> #include <stdlib.h> #include <math.h> #include "tad_r2.h" struct ponto { float x; float y; }; Ponto* cria (float x, float y){ Ponto* p = (Ponto*) malloc(sizeof(Ponto)); if (p == NULL){ printf("Memoria Insuficiente!\n"); exit(1); } p->x = x; p->y = y; return p; } void libera (Ponto* p){ free(p); } void acessa (Ponto* p, float* x, float* y){ *x = p->x; *y = p->y; } void atribui (Ponto* p, float x, float y){ p->x = x; p->y = y; } float distancia (Ponto* p1, Ponto* p2){ float dx = p2->x - p1->x; float dy = p2->y - p1->y; return sqrt (dx*dx + dy*dy); } float distanciaL1 (Ponto* p1, Ponto* p2){ float dx = p2->x - p1->x; float dy = p2->y - p1->y; return (dx*dx + dy*dy); } float calculo_soma (Ponto* p1, Ponto* p2){ float dx = p1->x + p2->x; float dy = p1->y + p2->y; return (dx + dy); } float calculo_sub (Ponto* p1, Ponto* p2){ float dx = p1->x - p2->x; float dy = p1->y - p2->y; return (dx - dy); }
Editor Settings
Theme
Key bindings
Full width
Lines