Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
#include <stdio.h>
#include <cstring>
struct Nodo {
char numero;
Nodo* sig;
};
void leerNumero(FILE*,Nodo*&);
void push(Nodo*&,char);
char pop(Nodo*&);
void agregar(Nodo*&,Nodo*&,char);
void mostrarPila(Nodo*&);
Nodo* SumarPilas(Nodo*&,Nodo*&,Nodo*&,Nodo*&);
Nodo* SumarColaPila(Nodo*&,Nodo*&,Nodo*&);
void mostrarCola(Nodo*&,Nodo*&);
int main()
FILE*archivo;
archivo=fopen("C:\\puebra\\ArchNumero.txt","rt");
Nodo*Pila1=NULL;
Nodo*Pila2=NULL;
Nodo*fte=NULL;
Nodo*fin=NULL;
leerNumero(archivo,Pila1);
mostrarPila(Pila1);
leerNumero(archivo,Pila2);
mostrarPila(Pila2);
SumarPilas(Pila1,Pila2,fte,fin);
leerNumero(archivo, Pila1);
mostrarPila(Pila1);
SumarColaPila(Pila1,fte,fin);
mostrarCola(fte,fin);
fclose(archivo);
return 0;
Nodo*p=new Nodo();
p->numero=valor;
p->sig=Pila;
Pila=p;
char n;
fread(&n,sizeof(char),1,f);
push(Pila,n);
fread(&n,sizeof(char),1,f);
Nodo* SumarPilas(Nodo*&Pila1,Nodo*&Pila2,Nodo*&fte,Nodo*&fin){
int dig = 0;
int suma = 0;
int resto = 0;
char ca1;
suma = dig+resto;
resto = 0;
if (dig>10){
suma = suma%10;
ca1=suma;
resto++;
agregar(fte,fin,ca1);
suma=0;
return fte;
Nodo* SumarColaPila(Nodo*&Pila,Nodo*&fte,Nodo*&fin){
int dig = 0;
int suma = 0;
int resto = 0;
char ca;
resto = 0;
if (dig>10){
suma = suma%10;
ca = suma;
resto++;
agregar(fte,fin,ca);
suma = 0;
return fte;
char pop(Nodo*&Pila){
Pila = Pila->sig;
delete aux_elim;
return valor;
p->numero = n;
p->sig = NULL;
if (fte==NULL)
fte = p;
else{
fin->sig = p;
fin = p;
return;
}
char v;
v = fte->numero;
Nodo*q = fte;
if (fte == fin){
fte = NULL;
fin = NULL;
}else{
fte = fte->sig;
delete q;
return v;
void mostrarPila(Nodo*&Pila){
cout<<Pila->numero;
Pila = Pila->sig;
/*void mostrarCola(Nodo*&fte,Nodo*&fin){
if(fin==NULL){
while (fte!=NULL){
cout<<fte->numero;
cout<<fin->numero;
fte=fte->sig;
*/
while(fte!=NULL){
cout<<"Numero : "<<desencolar(fte,fin);