elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  nueva duda pila en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: nueva duda pila en C  (Leído 7,984 veces)
Suzume

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: nueva duda pila en C
« Respuesta #10 en: 24 Mayo 2011, 05:24 am »

thanks por los concjos q dist m sirvieron mucho. kisiera saber si akai m puedes ayudar en otra ocasion t lo agradcria mucho :)

EI: juntando mensajes.

/*hice st programa y m salen errores q no c que son intent corregirlos pro nada!!!
errores:
-cannot convert `tiponodo***' to `tiponodo**' for argument `1' to `void push(tiponodo**, int)'
-In function `float media(tiponodo**)':
-In function `int impardelete(tiponodo*)':

Y muchos otros mas!!!!!! talz vz puedan ayudarm xfa!!!!!  */
 
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#define Null  0
//declaracion de pila y funciones
typedef struct nodo{
  int dato;
  struct nodo *siguiente;
}tiponodo;

typedef tiponodo *pNodo;
typedef tiponodo *pila;

float media(pila *);
int impardelete(pila *);
int empty(pila *);
int pop(pila *);
void push(pila *,int);
void menu(void);
int main()
{
   
 int op,z=0,x,popvalue;
 pila  *pl=Null;
 menu();
 scanf("%i",&op);
 while(z==0){           
 switch(op){
 case 1: printf("\n ingrese el valor que agregara a la pila");
         scanf("%i",&x);
         push(pl,x);
         break;
 case 2: if(empty(*pl)=Null)
           printf("\n error la pila esta vacia");   
         pop(&pl);
           printf("\n el valor eliminadio es: %i",popvalue);
         break;
 case 3: media(pl);
         break;
 case 4: impardelete(pl);
         break;
 case 5: z=1;
 default: printf("error!!! elija la opcion de nuevo");
          menu();
          scanf("%i",&op);
          break;
 }//fin switch
}//fin while

 getch();
}//fin main
 

//funciones
int empty(pila *ps)
{
return ((*ps)== Null);
}

void push(pila *ps, int a)
{
pNodo nuevo;
nuevo = (pNodo) malloc(sizeof(tiponodo));
if (nuevo != Null)
{
nuevo->dato = a;
nuevo->siguiente = *ps;
*ps = nuevo;
}
else
printf("No se pudo insertar el elemento. Falta de memoria\n");
}

int pop(pila * ps)
{   
pNodo temp;
int popvalue;
temp = *ps;
popvalue = (*ps)->dato;
*ps = (*ps)->siguiente;
free(temp);
return popvalue;
}
//funcion que calcular la media
float media(pila *ps){
int x,i=0,total=0;
float media;
pila aux=Null;
while(ps!=Null){
x=pop(*ps);
total+=x;
i++;
push(aux,x);
}
media=total/i;
while(aux!=Null){  //reestablecer la pila
x=pop(aux);
push(ps,x);
}
}//fin media

int impardelete(pila ps)//funcion que elimina los numeros impares de la pila
{
 int x,num=0;
 pila aux=Null;
 while(ps!=Null){
 if((ps.dato)%2)!=0){
  x=pop(ps);
  num++;
 else{
  x=pop(ps);
  push(aux, x);
  }
 return num;
 }//fin while
}                     

void menu(void)
{
  printf("\nElija la opcion que desea utilizar");
  printf("\n insertar un dato                1");
  printf("\n eliminar un dato                2");
  printf("\n calcular la media               3");
  printf("\n calcular el numero de impares   4");
  printf("\n salir del programa              5");
}


« Última modificación: 24 Mayo 2011, 17:35 pm por Eternal Idol » En línea

D4RIO


Desconectado Desconectado

Mensajes: 1.004


U N I X


Ver Perfil WWW
Re: nueva duda pila en C
« Respuesta #11 en: 24 Mayo 2011, 17:25 pm »

1) Deberías abrir otro tema si tienes dudas, no resucitar un tema que lleva más de un mes sin posts.
2) Usa resaltado para el código, por favor.
3) Escribe en un español que todos entendamos. Es decir: ¿Realmente se supone que interpretemos esto?
Código
  1. /*hice st programa y m salen errores q no c que son intent corregirlos pro nada!!!
  2. errores:
  3. -cannot convert `tiponodo***' to `tiponodo**' for argument `1' to `void push(tiponodo**, int)'
  4. -In function `float media(tiponodo**)':
  5. -In function `int impardelete(tiponodo*)':
  6.  
  7. Y muchos otros mas!!!!!! talz vz puedan ayudarm xfa!!!!!  */
No estamos escribiendo un SMS ni nada por el estilo. Nadie te cobra por los carácteres que completan las palabras.

Saludos


En línea

OpenBSDFreeBSD
Suzume

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: nueva duda pila en C
« Respuesta #12 en: 28 Mayo 2011, 05:24 am »

sino vas a ayudar mjor no respondas y si el post lleva tanto tiempo para q t metist en ste tema???
En línea

D4RIO


Desconectado Desconectado

Mensajes: 1.004


U N I X


Ver Perfil WWW
Re: nueva duda pila en C
« Respuesta #13 en: 28 Mayo 2011, 16:50 pm »

Citar
sino vas a ayudar mjor no respondas
Ayudé. Te dije qué deberías abrir un nuevo tema. A demás, aplicando ese mismo concepto, no deberías haber posteado en primer instancia  ;)
Lo ideal es que pongas tu propio tema, para que la gente lo vea en el tablón, o que mandes un privado a akai, si deseas hacerle una pregunta personal.

Citar
y si el post lleva tanto tiempo para q t metist en ste tema???
Como comentaba antes, resucitaste el tema. Cuando posteas en un tema, este queda en la parte superior del tablón nuevamente. Por eso es que no es buena idea resucitar un tema cuando tiene más de 1 mes (2 meses por reglamento, pero en 1 mes habrás levantado un tema viejo).

Tomalo a modo de consejo. No necesitas defenderte cuando te dan un consejo. Por otra parte, el consejo de escribir adecuadamente también vale.

PD: No dejes pasar 4 días solo para postear una antítesis no fundamentada.

Saludos.
En línea

OpenBSDFreeBSD
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda acerca de la pila en VB
Programación Visual Basic
Krnl64 4 1,893 Último mensaje 21 Julio 2006, 13:38 pm
por Krnl64
[DUDA] mover a la pila
ASM
blackray 4 3,675 Último mensaje 10 Septiembre 2009, 03:07 am
por blackray
duda en pila con lenguaje c
Programación C/C++
king1517 2 2,734 Último mensaje 29 Junio 2011, 18:28 pm
por leogtz
Duda: Crear una pila contando palabras encontradas en un string
PHP
Darkkz 2 2,334 Último mensaje 10 Septiembre 2011, 23:35 pm
por Darkkz
Duda puntero a pila.
Programación General
lanun 0 1,474 Último mensaje 27 Marzo 2014, 20:05 pm
por lanun
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines