Untitled

Run Settings
LanguageC
Language Version
Run Command
#include <stdio.h> #include "funcao.h" int main() { float x, y, soma, sub, manhattam; 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); somaponto(a,b,&soma); printf("O resultado da soma: %f\n",soma); subponto(a,b,&sub); printf("O resultado da sub: %f\n",sub); distancia(a,b,&manhattam); printf("O resultado da distancia de manhattan eh de: %f\n",manhattam); //float c = distancia(a,b); //printf("distacia entre os pontos: %f\n",c); libera(a); libera(b); return 0; }
#include <stdio.h> #include <stdlib.h> #include "funcao.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; } void somaponto (Ponto*v1, Ponto*v2, float*soma) { *soma = v1 -> x + v2 -> x; } void subponto (Ponto*v1, Ponto*v2, float*sub) { *sub = v1 -> x - v2->x; } void distancia(Ponto*p1, Ponto*p2, float*manhattam) { float dx = p2 -> x - p1 -> y; float dy = p2 -> y - p1 -> y; *manhattam = (dx*dx + dy*dy); }
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); void distancia (Ponto*p1, Ponto*p2, float*distancia); void somaponto (Ponto*v1, Ponto*v2, float*soma); void subponto (Ponto*v1, Ponto*v2, float*sub);
Editor Settings
Theme
Key bindings
Full width
Lines