Estructuras 1 C++
[Link] de un Circulo Estructura
#include <iostream>
#include <cmath>
using namespace std;
typedef struct {
int x;
int y;
} Vector;
typedef struct {
Vector centro;
int radio;
} Circunferencia;
int main() {
float area = 0;
Circunferencia cir = {2,3,1};
area = M_PI*pow([Link],2);
cout << "El area es de " << area << " unidades (cuadradas)." << endl;
[Link] Suma de Complejos
#include <iostream>
using namespace std;
typedef struct {
int re;
int im;
} Complejo;
void sumar(Complejo* p1, Complejo* p2, Complejo* ps);
int main() {
Complejo c1 = {1,2}, c2 = {3,5}, suma;
sumar(&c1, &c2, &suma);
cout << "suma: " << [Link] << " + " << [Link] << "i" << endl;
void sumar(Complejo* ptr1, Complejo* ptr2, Complejo* ptr_suma) {
ptr_suma->re = ptr1->re + ptr2->re;
ptr_suma->im = ptr1->im + ptr2->im;
[Link] de un punto a un circulo Estructuras
#include <iostream>
#include <cmath>
using namespace std;
typedef struct {
int x;
int y;
} Vector;
typedef struct {
Vector centro;
int radio;
} Circunferencia;
void verificar(Circunferencia* p_c, Vector* p_v);
int main() {
Circunferencia cir = {2,3,1};
Vector vec = {4,3};
verificar(&cir, &vec);
void verificar(Circunferencia* p_c, Vector* p_v) {
int dist = pow(p_v->x - p_c->centro.x, 2) + pow(p_v->y - p_c->centro.y,2);
if (dist == pow(p_c->radio, 2))
cout << "Esta en la circunferencia.\n";
else
cout << "No esta en la circunferencia.\n";
[Link] de Circunferencias Estructuras
#include <iostream>
#include <cmath>
using namespace std;
typedef struct {
int x;
int y;
} Vector;
typedef struct {
Vector centro;
int radio;
} Circunferencia;
void verificar(Circunferencia* ptr1, Circunferencia * ptr2);
int main() {
Circunferencia cir1 = {0,0,1};
Circunferencia cir2 = {3,0,1};
verificar(&cir1, &cir2);
void verificar(Circunferencia* ptr1, Circunferencia * ptr2) {
int distancia_centros = pow(ptr1->centro.x - ptr2->centro.x, 2) + pow(ptr1->centro.y
- ptr2->centro.y,2);
int suma_radios = pow(ptr1->radio + ptr2->radio, 2);
if (distancia_centros <= suma_radios)
cout << "Las circunferencias se tocan.\n";
else
cout << "Las circunferencias no se tocan.\n";
[Link] de un punto a una recta Estructuras
#include <iostream>
#include <cmath>
using namespace std;
typedef struct {
float x;
float y;
} Vector;
typedef struct {
Vector paso;
Vector direccion;
} Recta;
bool verificar(Recta* ptr_r, Vector* ptr_v);
int main() {
Recta rec = {0,0,1,2};
Vector vec = {3,6};
if(verificar(&rec, &vec)) cout << "El vector esta en la recta.\n";
else cout << "El vector NO esta en la recta.\n";
bool verificar(Recta* ptr_r, Vector* ptr_v) {
int delta_x = ptr_v->x - ptr_r->paso.x;
int delta_y = ptr_v->y - ptr_r->paso.y;
int dir_x = ptr_r->direccion.x;
int dir_y = ptr_r->direccion.y;
float delta_cocientes = 0;
const float EPSILON = 0.001;
if (dir_x == 0) {
if (delta_x == 0) return true;
else return false;
else if (dir_y == 0) {
if (delta_y == 0) return true;
else return false;
else if (delta_x != 0 && delta_y != 0) {
delta_cocientes = static_cast<float>(delta_x)/dir_x -
static_cast<float>(delta_y)/dir_y;
if (abs(delta_cocientes) < EPSILON) return true;
else return false;
else if (delta_x == 0 && delta_y == 0) {
return true;
else return false;
[Link] lista de alumnos Estructuras
#include <iostream>
#include <iomanip>
using namespace std;
typedef struct {
char nombre[50];
int nota;
} Alumno;
void mostrar(Alumno* ptr, int cap);
int main() {
Alumno lista[3] = {{"Juan",19},{"Elena",20},{"Pedro",18}};
mostrar(lista, 3);
void mostrar(Alumno* ptr, int cap) {
cout << "\t\t\t\t\tNombre\t\t\tNota (Lab4)\n";
for (int j = 0; j < cap; ++j) {
cout << "alumno\t" << j << "\t:\t" << setw(10) << ptr[j].nombre << setw(16) <<
ptr[j].nota << endl;