#include <stdio.h>
#include <stdlib.h>
struct campos {
int valor;
struct campos *prox;
};
typedef struct campos Cola;
Cola *C1;
void CrearCola(Cola **Primero)
{/*Crea la Cola por primera vez */
*Primero = NULL;
}
int EsColaVacia(Cola *Primero)
{/*Verifica si la Cola se encuentra vacía o no */
if (Primero == NULL)
return 1;
else
return 0;
}
void Encolar(Cola **Primero, int val)
{ /*Agrega un elemento al final de la Cola */
Cola *Aux,*Ultimo;
Aux = (Cola*)malloc(sizeof(Cola));
Aux->valor = val;
Aux->prox = NULL;
if (EsColaVacia(*Primero)==1)
*Primero = Aux;
else
{
Ultimo = *Primero;
while (Ultimo->prox != NULL)
{Ultimo = Ultimo->prox;}
Ultimo->prox = Aux;
}
}
int PrimeroCola(Cola *Primero)
{ /*Consulta el valor del primer elemento de la Cola */
if (EsColaVacia(Primero) == 0)
return Primero->valor;
}
void Desencolar(Cola **Primero)
{/*Elimina el primer elemento de la Cola */
Cola *Aux;
if (EsColaVacia(*Primero)==1)
printf("Cola Vacia imposible Desencolar");
else
{
Aux = *Primero;
*Primero = Aux->prox;
free(&Aux);
}
}
void Mostrar_TodalaCola(Cola *Primero)
{
int Primerocola;
system("cls");
printf("*************************************************************\n");
printf("La Cola se encuentra conformada por los siguientes valores \n");
printf("*************************************************************\n");
while(EsColaVacia(Primero)==0)
{
Primerocola = PrimeroCola(Primero);
printf("%d%s",Primerocola,"->");
Desencolar(&Primero);
}
printf("Null \n");
}
int main ()
{
int num,i; char letra;
CrearCola(&C1);
printf("Indique cuantas letras tiene la palabra: \n");
scanf("%d",&num);
for (i=1;i<=num;i++)
{
printf("Indique letra %d: ",i);
scanf("%s",&letra);
Encolar(&C1,letra);
i++;
}
Mostrar_TodalaCola(C1);
system("pause");
return 0;
}
otra cosa que probe fue cambiar la parte que dice:
scanf("%s",&letra); por scanf("%c",&letra); de modo que me tome solo un caracter pero me muestra una cola con puros numeros y el ciclo se vuelve loco...
Página 1 de 1
Insertar caracteres en una cola
#1
Posted 09 June 2009 - 03:01 PM
Hola de nuevo amigos. Estoy tratando de insertar caracteres en un cola en C pero se me queda pegado en el ciclo de pedir las letras... Esto es más o menos lo que llevo hecho:
Página 1 de 1

Ingresar
Registrarme
Ayuda
Este tema está cerrado
MultiCita