|
Mostrar Mensajes
|
Páginas: [1] 2 3 4
|
1
|
Programación / Programación C/C++ / ayuda urgente en arboles binarios
|
en: 6 Julio 2011, 05:00 am
|
al momento de graficar arboles binarios me dipen que grafique el siguiente arbol 14, 15 , 4, 9, 7, 18, 3, 5, 16, 4, 20, 17, 9, 14, 5 14 / \ 4 15 / \ / \ 3 9 14 18 / \ / \ 7 9 16 20 / \ 5 17 / 4
bueno mi consulta es si aplico bien la insercion de elementos duplicados en un arbol binario: - si hay un valor duplicador insertarlo a la derecha de dicho nodo asumiendo (>=) por favor si estoy errando me harian el favor de decirme cual es la regla para efectuar la insercion de duplicados en un arbol binario.
|
|
|
2
|
Programación / Programación C/C++ / ayuda en listas
|
en: 27 Junio 2011, 23:39 pm
|
hola tengo una consulta como puedo modificar mi programa para que acepte cadenas y no solo un caracter: aqui adjunto mi programa. #include <stdio.h> #include <stdlib.h> typedef struct nodo { char elemento; struct nodo *siguiente; struct nodo *anterior; } NODOLISTA;
typedef NODOLISTA *PtrNodo; typedef NODOLISTA *Lista;
void insertar(Lista*, char); void mostrar(Lista);
main() { Lista lista=NULL; insertar(&lista,'Juan'); insertar(&lista,'Homero'); mostrar(lista); getchar(); return 0; }
void insertar(Lista *lista, char nombre) { PtrNodo nuevo, actual; nuevo = (PtrNodo)malloc(sizeof(NODOLISTA)); nuevo->elemento = nombre; actual = *lista; if(actual) { while(actual->anterior) { actual = actual->anterior; } } if(!actual || actual->elemento > nombre) { nuevo->siguiente = actual; nuevo->anterior = NULL; if(actual) { actual->anterior = nuevo; } if(!*lista) { *lista = nuevo; } } else { while(actual->siguiente &&actual->siguiente->elemento <= nombre) { actual = actual->siguiente; } nuevo->siguiente= actual->siguiente; actual->siguiente = nuevo; nuevo->anterior = actual; if(nuevo->siguiente) { nuevo->siguiente->anterior = nuevo; } } }
void mostrar(Lista lista) { PtrNodo nodo = lista; if(!lista) { printf("\"La Lista esta Vacia\""); } else { while(nodo->anterior) { nodo = nodo->anterior; } while(nodo) { printf("-> %s", nodo->elemento); nodo = nodo->siguiente; }
} printf("\n"); }
o alguien no tiene alguna funcion de insertar de una lista de la siguiente forma insertar(lista,'juan');
|
|
|
3
|
Programación / Programación C/C++ / ayuda en arbol
|
en: 27 Junio 2011, 08:07 am
|
hola como puedo sumar los datos de esta funcion;por ejemplo la impresion de datos esta correcta,lo que no comprendo es como sumar esos datos impresos ejemplo: digite nivel: 2 los datos del nivel 2: 10 30 la suma del nivel:? void nodos_nivel(struct nodo* NODOARBOL, int nivel) { if(NODOARBOL) if(nivel==1) printf("%d\t",NODOARBOL->dato); else { nodos_nivel(NODOARBOL->izq,nivel-1); nodos_nivel(NODOARBOL->der,nivel-1); } }
|
|
|
4
|
Programación / Programación C/C++ / ayuda en cola
|
en: 26 Junio 2011, 06:47 am
|
que debo modificar para eliminar los elementos impares, no me permiten usar funciones auxiliares en mi programa: int Borrar(struct Cola **Cabecera,struct Cola **cola) { int valor; struct Cola *Temporal; valor=(*Cabecera)->Dato; Temporal= *Cabecera; *Cabecera=(*Cabecera)->Siguiente; if(*Cabecera==NULL) *cola=NULL; free(Temporal); return valor; }
|
|
|
5
|
Programación / Programación C/C++ / ayuda en arboles binarios
|
en: 25 Junio 2011, 02:48 am
|
Bueno mi problema es el siguiente: diseñe un programa con arboles binarios, que imprima el recorrido inorden de los siguientes datos 1, 6 , 4 , 10, 12, 8. Nota el usuario no debe digitar ningu dato. bueno , al compilar el programa no me da ningun error, pero no me imprime el recorrido en Inorden de mi arbol no se en que me estoy equivocando, si me pueden decir, les adjunto el codigo: #include<stdio.h> #include<stdlib.h> #include<string.h>
typedef int Tipo_elemento;
struct nodo { Tipo_elemento el; struct nodo *izq, *der; };
typedef struct nodo NODO;
NODO* Crear_nodo(Tipo_elemento el); NODO* Construir(Tipo_elemento el, NODO *izq, NODO *der);
//recibe como parametro un arbol y retorna su hijo izquierdo NODO* Hijo_izq(NODO *a);
/recibe como parametro un arbol y retorna su hijo derecho NODO* Hijo_der(NODO *a);
/*------------------- Recoridos del arbol binario ---------------------*/ void Inorden(NODO *a);
/*---------------------------------------------------------------------*/
NODO* Crear_nodo(Tipo_elemento el) { NODO *nuevo; nuevo=(NODO*)malloc(sizeof(NODO)); nuevo->el=el; nuevo->izq = nuevo->der = NULL; return nuevo; } NODO* Construir(Tipo_elemento el, NODO *izq, NODO *der) { NODO *nn; nn=Crear_nodo(el); nn->izq=izq; nn->der=der; return (nn); } NODO* Hijo_izq(NODO *a) { if(a) return (a->izq); else { return (NULL); } } NODO* Hijo_der(NODO *a) { if(a) return (a->der); else { return (NULL); } }
void main() { NODO *raiz=NULL; Construir(1,izq,der); Construir(6,NULL,NULL); Construir(4,NULL,NULL); Construir(10,izq,der); Construir(12,NULL,NULL); Construir(8,NULL,NULL); printf("El recorrido en inorden sera:"); Inorden(raiz); getchar(); }
void Inorden(NODO *a) { if(a) { Inorden(a->izq); printf("%d", a->el); Inorden(a->der); } }
|
|
|
6
|
Programación / Programación C/C++ / ayuda con ficheros
|
en: 8 Junio 2011, 23:19 pm
|
tengo una duda con los ficheros cuando implemento el siguiente codigo solo me crea el txt pero no me guarda nada, pero si me crea el archivo. FILE *fp; fp = fopen ( "datos.txt", "w" ); fclose ( fp );
creen que sera por la forma en que pregunto datos por ejemplos lo pregunto con printf(" "); y leo con scanf o es de otra manera les agradeceria
|
|
|
8
|
Programación / Programación C/C++ / ayuda en colas
|
en: 25 Mayo 2011, 00:08 am
|
hola alguien tiene estos codigos: cola de prioridad ascendenete y cola de prioridad descendente, no importa si estan es pdeucocodigo los necesitos para estudiar las colas.
|
|
|
9
|
Programación / Programación C/C++ / una colsulta porfa.....
|
en: 8 Mayo 2011, 08:44 am
|
bueno estoy creando una lista, los datos en mi lista son: nombre: xxxxx carnet:xxxxx boleta:xxxxxxxxxx la cuestions es que quiero poner esos tres datos es un rectangulo, pero tengo un problema, que cuando digitos nombre de diferente longitud el rectangulo me varia por ejemplo: ------------------------------------------------------ | nombre: zoe carne: CD200001 boleta:100000001 | -------------------------------------------------------------- | nombre: Edenilson carne: ED200025 boleta:100000002 | -------------------------------------------------------------- | nombre: mateo carne: ED200025 boleta:100000002 | ------------------------------------------------------ ocupo: printf("---------------------------------------------------------------\n"); printf("|"); printf("nombre:%s carne:%d boleta:%d |\n",no, car,bol); printf("------------------------------------------------------------------");
lo que quiero saber es si hay alguna forma en c/c++ de imprimir un rentangulo sin que ese rectangulo no se vea modificado por la longitud de los datos por ejemplo:
--------------------------------------------------------- | nombre: zoe carne: CD200001 boleta:100000001 | --------------------------------------------------------- | nombre: Edenilson carne: ED200025 boleta:100000002| --------------------------------------------------------- | nombre: mateo carne: ED200025 boleta:100000002 | --------------------------------------------------------- nota: he ocupado validacion para que no exceda las longitudes
|
|
|
10
|
Programación / Programación C/C++ / una consulta con pilas
|
en: 7 Mayo 2011, 01:30 am
|
estoy creando el juego quien quiere ser millonario: typedef struct nodo { struct millonario date; struct nodo *next; }stack; bueno lo que no entiendio es porque me dijieron que la implentacion la hiciera con manejo de pilas, yo se que las pilas son un tipo de listas que tiene la condicion "ultimo elemento que entra es el primero que sale" bueno si asi que logica se puede interpretar efectuaro con pilas, no entiendo.
|
|
|
|
|
|
|