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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
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
Código:
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.
Código:
#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:?
Código:

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:

 
Código:

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:



Código:

#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.

Código:
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
7  Programación / Programación General / ¿Como manejar puerto paralelo con el ensamblador? en: 3 Junio 2011, 03:50 am

Hola quisiera si alguien tiene ejemplos de ¿Como manejar puerto paralelo con el ensamblador?


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:

 
Código:
------------------------------------------------------
 |  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.





Páginas: [1] 2 3 4
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines