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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


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

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Listas Dinamicas[AYUDA]
« en: 10 Abril 2011, 21:43 pm »

Estoy recién partiendo en esto de programar en C, tengo una duda que ojalá ustedes me pudiesen ayudar.

#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;
}

 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 l;
 printf ("Insercion por cola de 1, 5, 10\n");
 l = inserta_por_cabeza(l, 1);
 l = inserta_por_cabeza(l, 5);
 l = inserta_por_cabeza(l, 10);
 muestra_lista(l);

system("pause");
}

Este código ingresa datos por la cabeza de la lista, como ustedes verán ingresa los valores 1,5,10. Mi pregunta es, qué tengo que hacer para que el programa ingrese los valores desde el teclado y cuantos valores yo quiera. Como dije anteriormente soy novato y es una duda que no he podido resolver. Muchas Gracias desde ya!!


En línea

Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: Listas Dinamicas[AYUDA]
« Respuesta #1 en: 10 Abril 2011, 22:18 pm »

O dicho de otra forma, este código lo has visto en un libro o por internet y lo quieres usar sin demasiada idea de lo que estás haciendo.

Código
  1. TipoLista lista;
  2. int valor;
  3. scanf("%d\n",&valor)
  4. lista=inserta_por_cabeza(lista, valor);
  5.  

Y si lo quieres repetir, usa bucles.


En línea

andressitto007

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Listas Dinamicas[AYUDA]
« Respuesta #2 en: 10 Abril 2011, 22:44 pm »

O dicho de otra forma, este código lo has visto en un libro o por internet y lo quieres usar sin demasiada idea de lo que estás haciendo.

Código
  1. TipoLista lista;
  2. int valor;
  3. scanf("%d\n",&valor)
  4. lista=inserta_por_cabeza(lista, valor);
  5.  

Y si lo quieres repetir, usa bucles.

Muchas gracias por tu respuesta, estoy aprendiendo de libros y cuesta mucho. El codigo ese se pone en el main cierto? disculpa mi ignorancia en el tema.
En línea

Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: Listas Dinamicas[AYUDA]
« Respuesta #3 en: 10 Abril 2011, 22:47 pm »

Si, iría en el main o donde tu pretendas poner la lectura de datos.
En línea

andressitto007

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Listas Dinamicas[AYUDA]
« Respuesta #4 en: 10 Abril 2011, 22:58 pm »

Si, iría en el main o donde tu pretendas poner la lectura de datos.
Muchas gracias. sabes lo pongo en el main, ingreso los números del teclado, pero al terminar de ingresarlos, no me muestra todo los valores.

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

for (i=1; i<4; i++){
    printf ("Ingrese el valor\n");
scanf("%d\n",&valor);
}
lista=inserta_por_cabeza(lista, valor);
 muestra_lista(lista);

system("pause");
}

De verdad disculpa, para ti deben ser preguntas muy idiotas, pero la verdad no sé casi nada y estoy tratando de aprender.
En línea

andressitto007

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Listas Dinamicas[AYUDA]
« Respuesta #5 en: 10 Abril 2011, 23:07 pm »

Ya logré hacerlo!!!! Muchas gracias, te pasaste!!!
En línea

Akai


Desconectado Desconectado

Mensajes: 823



Ver Perfil
Re: Listas Dinamicas[AYUDA]
« Respuesta #6 en: 11 Abril 2011, 08:24 am »

No te mostraba todos los valores, porque como imagino que luego viste, lo único que hacías en el bucle, era leer el número. Pero luego insertabas fuera del bucle únicamente el último.
Código
  1. for (i=1; i<4; i++){
  2.    printf ("Ingrese el valor\n");
  3. scanf("%d\n",&valor);
  4. lista=inserta_por_cabeza(lista, valor);
  5. }
  6.  

Eso sería lo correcto.

Por otro lado, cuando postees código en el foro, utiliza la etiqueta GeSHi que encontrarás en la esquina superior derecha del cuadro de respuesta.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con las pilas dinamicas
Programación C/C++
BalthierKs 1 2,032 Último mensaje 25 Abril 2012, 00:36 am
por david_BS
Listas y Sublistas..Ayuda!!
Programación C/C++
willy1855 2 5,138 Último mensaje 9 Mayo 2012, 16:40 pm
por durasno
relacionar 2 listas en VB 6.. ayuda!!!!
Programación Visual Basic
euphemia 2 1,492 Último mensaje 22 Octubre 2012, 14:56 pm
por seba123neo
[SOLUCIONADO] Una ayuda sobre las variables dinámicas
.NET (C#, VB.NET, ASP)
Eleкtro 0 1,092 Último mensaje 6 Enero 2013, 00:46 am
por Eleкtro
Ayuda con Multi Listas POO C++
Programación C/C++
hyperiod 1 5,546 Último mensaje 17 Septiembre 2013, 09:17 am
por eferion
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines