Curso de estructura de datos: cuatro operaciones con números complejos escritas en lenguaje C
Diseñar un programa demostrativo que realice aritmética de números complejos. Es necesario implementar las siguientes seis operaciones básicas
: 1) Generar números complejos a partir de las partes real e imaginaria de la entrada
2) Encontrar la suma de dos números complejos;
3) Diferenciar dos números complejos;
4) Generar dos números complejos
5) Separar la parte real del número complejo conocido
;6) De Separar la parte imaginaria de un número complejo dado.
El resultado de la operación se muestra como la representación del número complejo o número real correspondiente (preferiblemente en forma estructural)
Si usas c++ y stl, puedes escribirlo así: #include <complex>#include
Así es como funciona: #include
#include
#include
#define?ERR?-1
#define?MAX?100?/*Definir tamaño de pila*/ p>
int?stack[MAX];?/* Definir la pila usando una matriz unidimensional*/
int?top=0;?/* Definir el indicador de pila*/
int?push(int?i)?/* Operador de almacenamiento, opera en la pila**
{
if(top< MAX)
{
stack[++top]=i;?/* Todavía hay espacio en la pila, y la parte superior de la pila significa subir una posición*/
return?0;
}
else
{
printf("¿La?pila?es ?full");
return?ERR ;
}
p>}
int?pop()?/* Eliminar operador, salir de la operación de la pila*/
{
int?var;?/* Definir el elemento superior de la pila que se devolverá*/
if( top!=NULL)?/* Todavía hay elementos en la pila*/
if(top!=NULL)? --];?/* La pila significa bajar una posición*/
return?var;?/* Regresar a la pila El elemento superior de */
} p>
else
printf("¿La?pila?está?vacía!\n");
return?ERR;
} p>
void?main()
{
int?m,n;
char?l;
int ?a,b,c;
int?k;
do{
printf ("\tAriothmatic?Operate?simulator\n");?/ * Proporcionar información inmediata*/
printf("\n\tPor favor?input?first?number:");?/* Ingrese el primer operando*/
scanf("% d",&m);
push(m);?/* El primer operando en la pila*/
printf("\n\tPor favor?entrada?segundo?número: ");?/* Ingrese el segundo operador*/
scanf("%d",&n) ;
push(n);?/* Ingrese el segundo operador en el pila*/
printf("/n\tChoose?operator(+/-/*/ /):");
l=getche
();?/* Operador de entrada*/
interruptor(l)?
{
caso?%d\n",c);< / p>
printf("\n");
b=pop();
a=pop();
c=a-b;
printf("\n\nt¿El?resultado?es?%d\n ",c);
printf("\n");
romper;
caso?'*':
b=pop();
a=pop();
c = a*b;
printf("\n\n\el?resultado?es?%d\n",
c=a-b;
c =a*b;
printf("\n\nt¿El?resultado??%d\n",c);
printf("\n"); /p>
romper;
caso?'/':
b=pop();
a=pop();
p>
c=a/b;
printf("\n\n\t¿El?resultado?resultado?es?%d\n",c);
printf("\n");
descanso;
}
printf("\tContinue?(s/n):") ;?/* Preguntar al usuario si desea finalizar el programa*/
l=getche();
if(l=='n')
salir(0);
p>}mientras(1);
}