0% encontró este documento útil (0 votos)
61 vistas8 páginas

Estructuras en C++: Circulos y Complejos

Este documento presenta 6 ejemplos de uso de estructuras en C++. Cada ejemplo resuelve un problema diferente utilizando estructuras: 1) calcular el área de un círculo, 2) sumar números complejos, 3) verificar si un punto pertenece a una circunferencia, 4) verificar la relación entre dos circunferencias, 5) verificar si un punto pertenece a una recta, 6) mostrar una lista de alumnos con su nombre y nota. En todos los casos se definen estructuras apropiadas y se implementan funciones para resolver cada problema.

Cargado por

tony pink
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
61 vistas8 páginas

Estructuras en C++: Circulos y Complejos

Este documento presenta 6 ejemplos de uso de estructuras en C++. Cada ejemplo resuelve un problema diferente utilizando estructuras: 1) calcular el área de un círculo, 2) sumar números complejos, 3) verificar si un punto pertenece a una circunferencia, 4) verificar la relación entre dos circunferencias, 5) verificar si un punto pertenece a una recta, 6) mostrar una lista de alumnos con su nombre y nota. En todos los casos se definen estructuras apropiadas y se implementan funciones para resolver cada problema.

Cargado por

tony pink
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

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;

También podría gustarte