Sábado 14 de Diciembre de 2024, 22:50
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
»
C++ Builder
(Moderador:
Eternal Idol
) »
Otro codigo en el que necesito colaboracion
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Otro codigo en el que necesito colaboracion (Leído 1251 veces)
iic610
Nuevo Miembro
Mensajes: 3
Otro codigo en el que necesito colaboracion
«
en:
Miércoles 26 de Noviembre de 2008, 20:58 »
0
Se supone q mi codigo pretende sumar dos numeros enteros muy grandes mediante la utilizacion de pilas. No se que narices pasa xo no me entra en ninguno de los dos ultimos bucles tal vez xq considera las pilas nulas¿?Ayuda porfa!!
Código: Text
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
typedef struct nodo {
int num;
struct nodo *sig;
}tiponodo;
typedef tiponodo *pila;
pila apilar (pila p,int e); //almacena el elemento e en la pila
pila desapilar (pila p); //elimina el ultimo elemento introducido en la pila p
int cima (pila p); //devuelve el ultimo elemento introducido en la pila p
pila pnula (void); //construye una pila p sin elementos
int nula (pila p); //decide si la pila p tiene elementos*/
main () {
int a,b,num,llevada;
pila pa,pb,aux;
int suma;
char respa,respb;
pa = pnula();
pb = pnula();
aux = pnula();
respa='a';
respb='a';
llevada = 0;
printf("Paso al programa de los numeros que se quieren sumarn");
while (respa != 'n') {
printf("Introduce el numero a: ");
scanf("%d",&a);
apilar(pa,a);
printf("Deseas continuar metiendo elementos en la pila a (introduce n si no quires continuar)n: ");
/*setbuf(stdin,NULL);*/
scanf("%c",&respa);
}
while (respb != 'n') {
printf("Introduce el numero b: ");
scanf("%d",&b);
apilar(pb,b);
printf("Deseas continuar metiendo elementos en la pila b (introduce n si no quires continuar): n");
/*setbuf(stdin,NULL);*/
scanf("%c",&respb);
}
while ((nula(pa) != 1) && (nula(pb) != 1 )) {
printf("entro en el primer bucle");
a = cima(pa);
b = cima(pb);
desapilar(pa);
desapilar(pb);
suma = a + b + llevada;
llevada = 0;
if (suma>9)
llevada = 1;
apilar(aux,suma);
printf("salgo del primer bucle");
}
while (nula(aux) != 1) {
printf("entro en el segundo bucle");
num = cima(aux);
desapilar(aux);
printf("El numero resultantes es el siguiente");
printf("%d",num);
printf("salgo del segundo bucle");
}
}
pila pnula (void) {
return(NULL);
}
pila desapilar (pila p) {
pila q;
q = (pila) malloc (sizeof(tiponodo));
q = p;
p = p->sig;
free(q);
return(p);
}
pila apilar (pila p,int e) {
pila q;
q = (pila) malloc (sizeof(tiponodo));
q->num = e;
q->sig = p;
p = q;
return(p);
}
int cima (pila p) {
int e;
if (nula(p) == 1)
printf("La pila esta vacian");
else
e = p->num;
return(e);
}
int nula (pila p) {
int resultado;
printf("he entrado en el buclen");
if (p==NULL) {
resultado = 1;
printf("La pila esta vacian");
}
else {
resultado = 0;
printf("La pila no esta vacian");
}
return(resultado);
}
Tweet
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: Otro codigo en el que necesito colaboracion
«
Respuesta #1 en:
Miércoles 26 de Noviembre de 2008, 22:29 »
0
Depuralo.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
iic610
Nuevo Miembro
Mensajes: 3
Re: Otro codigo en el que necesito colaboracion
«
Respuesta #2 en:
Jueves 27 de Noviembre de 2008, 17:01 »
0
Gracias!no se me habia ocurrido.....
Eternal Idol
Moderador
Mensajes: 4696
Nacionalidad:
Re: Otro codigo en el que necesito colaboracion
«
Respuesta #3 en:
Jueves 27 de Noviembre de 2008, 17:36 »
0
De nada, a ver si la proxima vez estas mas ocurrente y pones el codigo entre la etiqueta CODE.
Nacional y Popular
En mi país la bandera de Eva es inmortal.
Queremos una Argentina socialmente justa, económicamente libre y políticamente soberana.
¡Perón cumple, Evita dignifica!
La mano invisible del mercado me robo la billetera.
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
»
C++ Builder
(Moderador:
Eternal Idol
) »
Otro codigo en el que necesito colaboracion