Ver Mensaje Individual
  #11 (permalink)  
Antiguo 13/04/2011, 19:25
andressitto007
 
Fecha de Ingreso: marzo-2011
Ubicación: concecpcion
Mensajes: 5
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Listas Dinamicas

Cita:
Iniciado por sam90 Ver Mensaje
Código C:
Ver original
  1. int main(void)
  2. {
  3.     TipoLista l;
  4.     int n,i,numero;
  5.     printf ("Cuantos numeros quieres ingresar");
  6.     scanf("%d",&n);
  7.     fo(i=0;i<n;i++){
  8.          printf("ingrese el numero %d",i+1);
  9.          scanf("%d",&numero);
  10.          l = inserta_por_cabeza(l, numero);
  11.     }
  12.  
  13.     system("pause");
  14. }
De verdad Agradezco mucho tu ayuda, de a poco he ido aprendiendo. Disculpa por molestar, estoy tratando de crear un menú, que tenga la opción de añadir, insertar por cabeza, por cola y visualizar. La idea mia es anadir los elementos, después elegir si los quiero ingresar por cabeza o por cola. pero al darle anadir me ingresa los elementos y de ahí no me aparece de nuevo el menú. en pocas palabras añado los elementos y no puedo ocupar más el menu. Disculpa las molestias!!!!

#include <stdio.h>
#include <stdlib.h>


struct Nodo {
int info;
struct Nodo * sig;
};

typedef struct Nodo * TipoLista;

TipoLista inserta_por_cabeza(TipoLista lista, int valor)
{
struct Nodo *nuevo;
nuevo = (Nodo*)malloc(sizeof(struct Nodo));

nuevo->info = valor;
nuevo->sig = lista;
lista = nuevo;
return lista;
}
TipoLista inserta_por_cola(TipoLista lista, int valor)
{
struct Nodo *nuevo, * aux;
nuevo = (Nodo*)malloc(sizeof(struct Nodo));

nuevo->info = valor;
nuevo->sig = NULL;
if (lista == NULL)
lista = nuevo;
else {
for (aux = lista; aux->sig != NULL; aux = aux->sig) ;
aux->sig = nuevo;
}
return lista;
}

void muestra_lista(TipoLista lista)
{
struct Nodo * aux;

printf ("->");
for (aux = lista; aux != NULL; aux = aux->sig)
printf ("[%d]->", aux->info);
printf ("|\n");
}

int main(void)
{
TipoLista lista;
int valor,i,a,opcion;

printf ("1) Anadir valores\n");
printf ("2) Insertar por cabeza\n");
printf ("3)Insertar por cola \n");
printf ("4) Visualiar lista \n");
scanf ("%d", &opcion);
switch (opcion) {

case 1:
printf ("Ingrese cuantos datos va ingresar a la lista: ");
scanf ("%d",&a);
for (i=0; i<a; i++){
printf ("Ingrese los valores a ingresar a la lista\n");
scanf("%d",&valor);
}
break;

case 2:
lista=inserta_por_cabeza(lista, valor);
break;

case 3:
lista=inserta_por_cola(lista, valor);
break;

case 4:
muestra_lista(lista);
break;

default:
printf ("Opcion no vaalida\n");
break;


}
system("pause");
}