Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Ayuda con un programa de c++

DemiDante

Bovino Milenario
Desde
23 Dic 2008
Mensajes
1.000
:histerica: :histerica: Este es un programa de una pila que se le introducen cierta cantidad de datos en esta misma y pues si en esos numeros van los numeros primos, que los saque y los guarde en otra pila, ya que tiene mucho rato que llevo intantando pero no me sale y quisiera ver la posibilidad que me echaran la mano, programadores del corral. se los agradecere. Aqui esta lo que llevo del programa.

# include <iostream.h>
# include <conio.h>
# include <stdio.h>
# include <stdlib.h>
# define MAX 10

struct PILA{
char Dato[MAX];
int Tope;
};


struct PILA s;
struct PILA q;

//1---> Pila vacía
//2---> Pila con al menos un elemento

void InicializaTope(){
s.Tope =-1;
}


int Empty(){
if(s.Tope==-1){
return (1);
}
else {
return (0);
}
}


char Pop(){
if(Empty()){
cout<<"Pila vacía...";
exit(0);
}
// else {
return(s.Dato[s.Tope--]);
// }
}

void Push(char Elemento){
if(s.Tope == MAX){
cout<<"Pila llena...";
exit(0);
}
else {
s.Dato[++s.Tope] = Elemento;
}
}


void ImprimePila(){
while (Empty()!=1){
cout<<Pop()<<" ";
}
getch();
}

///////Pila 2/////////////////

void InicializaTopeq(){
q.Tope =-1;
}


int Emptyq(){
if(q.Tope==-1){
return (1);
}
else {
return (0);
}
}


char Popq(){
if(Emptyq()){
cout<<"Pila vacía...";
exit(0);
}
// else {
return(q.Dato[q.Tope--]);
// }
}

void Pushq(char Elemento){
if(q.Tope == MAX){
cout<<"Pila llena...";
exit(0);
}
else {
q.Dato[++q.Tope] = Elemento;
}
}


void ImprimePilaq(){
while (Emptyq()!=1){
cout<<Popq()<<" ";
}
getch();
}

void SacarPrimas(){
int a,b,c;
do{
c=1;
a=Pop();
for(b=2;b<a;b++){
if(a%b==0)
c=0;
}
if(c==1){
Pushq(a);
}


}while(!Empty());

}





void main(){
char opc, Elemento;

do{
clrscr();
cout<<"1) Push\n";
cout<<"2) Pop\n";
cout<<"3) Imprime Pila\n";
cout<<"4) Sacar Primos\n";
cout<<"5) Salir\n";
cout<<"Opcion.-.-.-.-.>";
opc = getchar();
if(opc=='1'){
cout<<"Elemento: ";
cin>>Elemento;
Push(Elemento);
}
else if(opc=='2'){
cout<<Pop()<<" ";
}
else if(opc=='3'){
ImprimePila();
}
else if(opc=='4'){
SacarPrimas();
}
} while (opc!='5');
}
 
1. creo que no inicializas variables, aunque tienes la rutina no la llamas
 
Volver
Arriba