Red de conocimiento informático - Consumibles informáticos - (Usando la implementación de pila) Ingrese un entero decimal positivo y genere su número octal y hexadecimal

(Usando la implementación de pila) Ingrese un entero decimal positivo y genere su número octal y hexadecimal

#include lt; stdio.hgt;

#include lt; stdlib.hgt

#define tamaño máximo 50

typedef int; tipo de elemento;

estructura typedef

{

datos de tipo de elemento[50]; sqstack; /*Definición de tipo de pila secuencial*/

void initstack(sqstack *s) /*Crear una pila vacía*/

{

s=( sqstack *)malloc(sizeof(sqstack));

s-gt; top=-1

}

int stacklength(sqstack *s) / * Encuentra la longitud de la pila*/

{

return (s-gt; top 1

}

elemtype gettop(); sqstack * s)/*Obtener el elemento superior de la pila*/

{

elemtype x

if(s-gt;top==- 1) devolver 0;

x=s-gt;datos[s-gt;top];

devolver x

}

int push( sqstack *s, elemtype x)/*Insertar nuevo elemento en la parte superior de la pila*/

{

s-gt;top;

s-gt;datos [s-gt; arriba]=x;

return 1;

}

int pop(sqstack *s) /*Eliminar el elemento superior de la pila*/

{

if(s-gt;top==-1) return

else s; -gt;top--;

return 1;

}

int stackempty(sqstack *s)/*determina si la pila está vacía*/

{

if(s-gt;top==-1) devuelve 1;

si no, devuelve 0

}

p>

visita nula(sqstack *s)

{

int i

elemtype x

i=s; -gt; arriba;

mientras(i!=-1)

{x=s-gt;datos[i]; lt;brgt;i--; lt; brgt;}

printf("\n");

}

void clearstack(sqstack *) s)

{

s-gt; top=-1

}

void convert(int n, int e) /*Convierte el número decimal n en número de base electrónica y genera */

{

int i

sqstack *s;

p>initstack(s);

mientras(n)

{

i=ne

n=n/e;

push(s, i);

}

printf("el número después de la conversión:\n"); (!stackempty(s))

{

printf("d",gettop(s));

pop(s);

}

}

void main()

{

int i, j

clrscr();

printf("Ingrese el número que desea convertir:");

scanf("d",amp;i

); printf("Ingrese el hexadecimal: ");

scanf("d",&j

convert(i,j); ;

}