Autor
|
Tema: Listas Dinamicas[AYUDA] (Leído 4,024 veces)
|
andressitto007
Desconectado
Mensajes: 4
|
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
Mensajes: 823
|
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. TipoLista lista; int valor; lista=inserta_por_cabeza(lista, valor);
Y si lo quieres repetir, usa bucles.
|
|
|
En línea
|
|
|
|
andressitto007
Desconectado
Mensajes: 4
|
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. TipoLista lista; int valor; lista=inserta_por_cabeza(lista, valor);
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
Mensajes: 823
|
Si, iría en el main o donde tu pretendas poner la lectura de datos.
|
|
|
En línea
|
|
|
|
andressitto007
Desconectado
Mensajes: 4
|
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
Mensajes: 4
|
Ya logré hacerlo!!!! Muchas gracias, te pasaste!!!
|
|
|
En línea
|
|
|
|
Akai
Desconectado
Mensajes: 823
|
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. for (i=1; i<4; i++){ printf ("Ingrese el valor\n"); lista=inserta_por_cabeza(lista, valor); }
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ayuda con las pilas dinamicas
Programación C/C++
|
BalthierKs
|
1
|
2,798
|
25 Abril 2012, 00:36 am
por david_BS
|
|
|
Listas y Sublistas..Ayuda!!
Programación C/C++
|
willy1855
|
2
|
6,178
|
9 Mayo 2012, 16:40 pm
por durasno
|
|
|
relacionar 2 listas en VB 6.. ayuda!!!!
Programación Visual Basic
|
euphemia
|
2
|
2,189
|
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,835
|
6 Enero 2013, 00:46 am
por Eleкtro
|
|
|
Ayuda con Multi Listas POO C++
Programación C/C++
|
hyperiod
|
1
|
6,728
|
17 Septiembre 2013, 09:17 am
por eferion
|
|