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


  Mostrar Temas
Páginas: [1] 2
1  Informática / Electrónica / Duda con llave optica S525 en: 27 Mayo 2011, 05:37 am
Bueno necesito trabjar una llave optica S525
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=425-2680-5-ND

alguien sabe como se debe conectar ??
2  Informática / Electrónica / Duda Odometro en: 12 Mayo 2011, 06:46 am
Bueno tengo que hacer un odometro con el Pic 16F84A para mi clase de Microcontroladores el proyecto debe hacer basicamente lo siguiente:
1.si la rueda va hacia adelante contar cuanto avanzo
2.si rueda va hacia atras decrementar lo avanzado.
3.1 pulsador para guardar un dato, otro para visualizar ese dato.
4 la visualizacion se muestra en 3 displays.
 
 
"La solucion pensada po mi es hacer una rueda de un perimetro por decir 30cm y hacer huecos cada 2 cm cerca al borde de la rueda, y pues usar un contador optico para que me genere las señales"

Ahora mi duda es como puedo hacer para que el micro se de cuenta de que la rueda esta andando hacia adelante o hacia atras

PD: Todos los pines ocupados (7 pines para display, 3 mas para habilitarlos ya sea anodo o catodo,1para guardar el dato, 1 para mostrar ese dato, y el que sobra que sera el RA4/TOCK0 que sera el que reciba la señal del optocontador)
3  Informática / Hardware / Problema Con el Mouse!! en: 9 Diciembre 2010, 14:19 pm
Bueno mi duda es que cada vez que enciendo o reinicio el PC no me reconoce el mouse y tengo que desconectar y conectar el mouse.
alguien sabe como puedo solucionar este problema???
4  Programación / Programación C/C++ / Simulacion Banco en: 4 Octubre 2010, 04:11 am
Este programa crea o atiende clientes (lo hace random) lo maximo a crear o atender son 4 clientes ejem;

Se crearon n clientes (los muestra)
se atendieron n clientes (borra los atendidos de acuerdo TDA Cola)

 ahora lo que intento hacer en modo grafico es mostar pero cuando intento mostrar con outtextxy (x,y,"string") siempre se sobreescribe ejem:
se crearon # clientes
# es donde se sobreescriba obviamente al llmar a la funcion
como podria borrar solo esa parte
no se si me hice entender (dejo el codigo asi es mas facil de entender lo que quiero hacer xD)


Código
  1. #include <conio.h>
  2. #include <iostream.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <time.h>
  6.  
  7. class Nodo
  8.  {Nodo *sig;
  9.   int id;
  10.   public:
  11.   Nodo()
  12.       {sig=NULL;}
  13.   Nodo(int id)
  14.       {sig=NULL;
  15.        setId(id);}
  16.   Nodo* getNodo()
  17.       {return sig;}
  18.   void setNodo(Nodo *siguiente)
  19.       {sig=siguiente;}
  20.   int getId()
  21.    {return id;}
  22.   void setId(int valor)
  23.    {id=valor;}
  24.   };
  25.  
  26. class Lista
  27.   {Nodo *inicio, *final;
  28.    int  cantidad;
  29.    public:
  30.    Lista()
  31.         {inicio=NULL;
  32.          final=NULL;
  33.          cantidad=0;}
  34.   Nodo * getinicio()
  35.       {return inicio;}
  36.   Nodo * getfinal()
  37.       {return final;}
  38.   int cantidadNodos()
  39.       {return cantidad;}
  40.   bool insertar(Nodo *nodo)
  41.       {if(inicio==NULL)
  42.          {inicio=nodo;
  43.           final=nodo;}
  44.        else
  45.          {final->setNodo(nodo);
  46.           final=nodo;}
  47.        cantidad++;
  48.        return true;}
  49.   void mostrar()
  50.       {if(inicio==NULL)
  51.          {exit;}
  52.        else
  53.          {Nodo *p;
  54.           p=inicio;
  55.           int conta=1;
  56.           int miprioridad=-1;
  57.           cout<<endl;
  58.           while(p!=NULL && conta<=cantidad)
  59.               {cout<<"C"<<p->getId()<<"\t";
  60.       p=p->getNodo();
  61.                conta++;};
  62.          }
  63.       }
  64.   void mostrarNodosDirecciones()
  65.       {if(inicio==NULL)
  66.          {exit;}
  67.        else
  68.          {Nodo *p;
  69.           p=inicio;
  70.           int conta=1;
  71.           int miprioridad=-1;
  72.           cout<<endl;
  73.           while(p!=NULL && conta<=cantidad)
  74.                {cout<<"Nodo C"<<p->getId()<<" Direccion --> "<< p <<" Nodo Sig-->  "<<p->getNodo()<<endl;
  75.        p=p->getNodo();
  76.                 conta++;};
  77.           }
  78.       }
  79.   bool eliminarNodo(int total) //cantidad de nodos a eliminar
  80.      {if(inicio==NULL ||  cantidad==0)
  81.         {cout<<"Lista vacia "<<endl;
  82.          return false;}
  83.       else
  84.         {if(total>cantidad)
  85.            {cout<<endl<<"Solo puede eliminar como maximo "<< cantidad  <<" nodos."<<endl;
  86.             return false;}
  87.             int conta=1;
  88.             Nodo *p;
  89.             p=inicio;
  90.             while(p!=NULL && total>0 && cantidad>0)
  91.               {inicio=inicio->getNodo();
  92.                   total--;
  93.                   cantidad--;
  94.                   delete p;
  95.                   p=inicio;};
  96.             if (cantidad==0)
  97.                inicio=NULL;
  98.             return true;
  99.         }
  100.      }
  101.   bool eliminarNodo()
  102.       {if(inicio==NULL || cantidad==0)
  103.           return false;
  104.        else
  105.          {Nodo *p;
  106.           p=inicio;
  107.     inicio=inicio->getNodo();
  108.           delete p;
  109.           cantidad --;
  110.           return true;}
  111.       }
  112.   };
  113.  
  114. class Simulacion
  115.  {Lista servidor;
  116.   Lista clientes;
  117.   int  codigo;
  118.   public:
  119.   Simulacion()
  120.      {codigo=0;}
  121.   generarClientes(int cantidad)
  122.      {for(int x=1;x<=cantidad;x++)
  123.    {codigo++;
  124.     Nodo *minodo=new Nodo(codigo);
  125.     clientes.insertar(minodo);}
  126.       }
  127.   int cantidadClientes()
  128.      {return clientes.cantidadNodos();}
  129.   int atenderClientes()
  130.      {int valor;
  131.       if(clientes.cantidadNodos()==0)
  132.          return 0;
  133.       valor=random(4);
  134.       clientes.eliminarNodo(valor);
  135.       return valor;
  136.      }
  137.   mostrarClientes()
  138.     {//clientes.mostrarNodosDirecciones() ;
  139.      clientes.mostrar();}
  140.   mostrarServidor()
  141.      {}
  142.   };
  143.  
  144. int main()
  145.   {Simulacion lab;
  146.    bool activo=true;
  147.    int canti=0;
  148.    randomize();
  149.    int c=0;
  150.    int turno=-1;
  151.    c=getch();
  152.    cout<<"Presione ENTER para continuar la simulacion y ESC para salir..."<<endl;
  153.    while(c!=27)
  154.         {//determinar si llegan clientes o si atienden
  155.          turno=random(2);
  156.          if(turno==1)
  157.            {//crear clientes
  158.             int cuantos=0;
  159.             cuantos=random(5);
  160.             lab.generarClientes(cuantos);
  161.             cout<<endl<<"Se crearon  "<<cuantos<<"  clientes."<<endl;
  162.             lab.mostrarClientes();}
  163.          else
  164.            {//atender clientes
  165.             canti=lab.atenderClientes();
  166.             cout<<endl<<"Cantidad a atender "<<canti<<endl;
  167.             if (canti>0)
  168.                 lab.mostrarClientes();
  169.            }
  170.          c=getch();
  171.         }
  172.  clrscr();
  173.  cout<<endl<<"El servidor no admite mas clientes..."<<endl;
  174.  if(lab.cantidadClientes()>0)
  175.    {cout<<"Clientes pendientes por atender... "<< lab.cantidadClientes() <<endl;
  176.     lab.mostrarClientes();
  177.     while(lab.cantidadClientes()>0) //si quedan clientes atenderlos
  178.      {canti=lab.atenderClientes();
  179.          cout<<endl<<"Cantidad a atender "<<canti<<endl;
  180.          lab.mostrarClientes();}
  181.     cout<<endl<<"Se atendieron todos clientes..."<<endl;
  182.    }
  183.  getch();
  184.  }
  185.  

5  Programación / Programación C/C++ / Ayuda! (Se supone que deberia imprimir plop) en: 3 Octubre 2010, 00:18 am
Compile este sencillo ejemplo y solo me ejecuta un pantallazo negro
Código
  1. #include <conio.h>
  2. #include <iostream.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <time.h>
  6. #include <graphics.h>
  7.  
  8. int main()
  9.   {int driver=DETECT,mode;
  10.    initgraph(&driver,&mode,"C:\BC5\BGI");
  11.    int midx=getmaxx()/2,midy=getmaxy()/2;
  12.    setbkcolor(5);
  13.    outtextxy(midx,midy,"plop");
  14.    getch();
  15.    closegraph();
  16.    return 0;
  17.    }


6  Programación / Programación C/C++ / Ayuda con modo grafico en: 25 Septiembre 2010, 05:33 am
Tengo cierto programa en modo texto, necesito hacer unas modificaciones para mostrar en modo grafico pero pocon pocon de ese modo si alguien me recomienda un tutorial le agradeceria
7  Programación / Programación C/C++ / Unas Veces Lo Hace Bien Otras No :S (Plis Urgente) en: 12 Septiembre 2010, 23:22 pm
Basicamente El Programa Debe Hacer Una Lista Circular Con n nombres, y despues eliminarlo hasta que kede solo 1, el problema es que a veces toma como borrado un nodo sin haberlo eliminado (si me hice entender)
Código
  1. /*****************
  2. Librerias
  3. *****************/
  4. #include <stdio.h>
  5. #include <conio.h>
  6. #include <iostream.h>
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. /*Clase nodo*/
  10. class nodo
  11.     {public:
  12.      char info[30];
  13.     nodo *sig;
  14.      nodo *generar_nodo(char a[30])
  15.          {nodo *n;
  16.        n=new nodo[30];
  17.           strcpy(n->info,a);
  18.        n->sig=NULL;
  19.        return n;}
  20.      };
  21. /*Clase lista*/
  22. class lista_circular
  23.     {public:
  24.      nodo *cab;
  25. int cant;
  26.      lista_circular()
  27.         {cab=NULL;
  28.          cant=0;}
  29.      insertar(char a[30]);
  30.      extraer(int dato2);
  31.      mostrar();
  32.     };
  33. /*Inserta en la lista*/
  34. lista_circular::insertar(char a[30])
  35.    {char cad[30];
  36.     strcpy(cad,a);
  37.     nodo *nuevo=nuevo->generar_nodo(a);
  38.     if(!cab)
  39.       {cab=nuevo;
  40.      cab->sig=nuevo;
  41.        cant++;}
  42.     else{nodo *p;
  43.          p=cab;
  44.          while(p->sig!=cab)
  45.               {p=p->sig;}
  46.          p->sig=nuevo;
  47.          p=p->sig;
  48.          p->sig=cab;
  49.          cant++;}
  50.     }
  51. /*muestra la lista*/
  52. lista_circular::mostrar()
  53.    {nodo *p=cab;
  54.  while(p->sig!=cab)
  55.          {cout<<p->info<<endl;
  56.       p=p->sig;}
  57.     cout<<p->info<<endl;}//Cierro Mostrar
  58.  
  59. /*Extrae de la lista*/
  60. lista_circular::extraer(int dato2)
  61.    {if(cab)
  62.       {nodo *p,*q;
  63.      p=cab;
  64.        if(dato2==cant-5)
  65.           {while(p->sig!=cab)
  66.                 {p=p->sig;}
  67.         if(cab->sig==cab)
  68.               {cab=NULL;
  69.                cant--;}
  70.         else{cab=cab->sig;
  71.           p->sig=cab;
  72.                 cant--;}
  73.           }
  74.        else{if(dato2==cant)
  75.               {while(p->sig!=cab)
  76.                    {p=p->sig;}
  77.    p->sig=cab;
  78.                cant--;}
  79.             else{for(int i=0;i<dato2;i++)
  80.                     {q=p;
  81.             p=p->sig;}
  82.              q->sig=p->sig;
  83.              cant--;
  84.              delete p;}}
  85. }else{cout<<"  NO EXISTE LISTA\n";}
  86.    }
  87.  
  88. main()
  89.   {lista_circular obj;
  90.    char nombre[30];
  91.    int aux=0;
  92.    for(int i=0;i<5;i++)
  93.       {cout<<"Digite El Nombre "<<i<<" De La Lista: ";
  94.          gets(nombre);
  95.          cout<<endl;
  96.          obj.insertar(nombre);}
  97.    clrscr();
  98.    obj.mostrar();
  99.    int aux2=obj.cant-1;
  100.    for(int i=0;i<aux2;i++)
  101.       {clrscr();
  102.        randomize();
  103.    aux=random(obj.cant)+1;
  104.    cout<<"Cantidad De Elementos "<<obj.cant<<endl<<"Se Elimino El Elemento "<<aux<<" De La Lista."<<endl<<"Lista Actual: "<<endl;
  105.        obj.extraer(aux);
  106.        obj.mostrar();
  107.        getch();}
  108.    getch();}
8  Programación / Programación C/C++ / Ayuda Acerca De Listas y Listas Circulares (Revienta Memoria :S) en: 12 Septiembre 2010, 01:49 am
Tengo Un Problema al intentar Extraer un numero de la lista, me revienta memoria, alguien podria decirme por que es :S le he dado vueltas y nada
Código
  1. # include <conio>
  2. # include <iostream>
  3. # include <stdlib>
  4. # define cant 4
  5.  
  6. class nodo
  7.     {public:
  8.      int info;
  9.      nodo *sig;
  10.      nodo(int a)
  11.          {info=a;
  12.           sig=NULL;}
  13.      };
  14. class listac
  15.     {public:
  16.      nodo *cab;
  17.      listac(){cab=NULL;}
  18.      void insertar(int a);
  19.      void mostrar();
  20.      bool buscar(int a);
  21.      void extraer(int a);
  22.      };
  23.  
  24. int main()
  25.    {int a=0;
  26.     listac obj;
  27.     for(int i=1;i<=cant+1;i++)
  28.         {cout<<"Digite El Elemento "<<i<<" De La Lista: ";
  29.          cin>>a;
  30.          cout<<endl;
  31.          obj.insertar(a);}
  32.     obj.mostrar();
  33.     cout<<"Digite El Numero a Buscar: ";
  34.     cin>>a;
  35.     if(obj.buscar(a)==true)
  36.        cout<<"El Numero Buscado Existe En La Lista";
  37.     else
  38.        cout<<"El Numero Buscado No Existe En La Lista";
  39.     cout<<"Digite El Numero a Extraer De La Lista: ";
  40.     cin>>a;
  41.     obj.extraer(a);
  42.     obj.mostrar();
  43.     getch();
  44.     return 0;
  45.    }
  46.  
  47. void listac::insertar(int a)
  48.    {nodo *nuevo=new nodo(a);
  49.     if(!cab)
  50.        {nuevo->sig=nuevo;
  51.         cab=nuevo;}
  52.        else
  53.        {nuevo->sig=cab->sig;
  54.         cab->sig=nuevo;}
  55.    }//cierro Insertar
  56. void listac::mostrar()
  57.    {nodo *p=cab;
  58.     do{p=p->sig;
  59.        cout<<p->info<<" ";}
  60.     while(p!=cab);
  61.    }
  62. bool listac::buscar(int a)
  63.   {nodo *p=cab;
  64.    do{p=p->sig;
  65.       if(p->info==a)
  66.          {return true;}}
  67.       while (p!=cab);
  68.       return false;}
  69. void listac::extraer(int a)
  70.     {nodo*p=cab;
  71.      do{p=p->sig;
  72.         if(p->info=a)
  73.            {while(cab->sig!=p)
  74.                  {cab=cab->sig;
  75.                   cab->sig=p->sig;
  76.                   delete p;
  77.                   break;}//cierro while
  78.            }//cierro if
  79.        }//cierro do
  80.        while (p!=cab);
  81.     }
  82.  
  83.  
9  Programación / Programación C/C++ / Urgebte problema con pila estatica :S en: 11 Septiembre 2010, 05:54 am
lo tenia en estatica se me dio por hacerlo a memoria dinamica y grabe encima ahora no encuentro el error, si alguien lo ve por fa ayudaaa es urgenteeeeeee
Código
  1. #include <iostream>
  2. #include <conio>
  3. #include <stdlib>
  4. #define tama1 10
  5. #define tama2 8
  6. #define tama3 6
  7. class Pila
  8.      {public:
  9.       int tope,y;
  10.       int pila1[tama1];
  11.       Pila(){tope=-1;
  12.              y=0;}
  13.       mostrar()
  14.          {for(int i=0;i<tama1;i++)
  15.                   {cout<<"\tPila1["<<i<<"]="<<pila1[i]<<endl;}}
  16.       insertar(int a)
  17.         {tope++;
  18.          if(tope==tama1)
  19.             {cout<<"\t\t\nPila llena "<<endl;
  20.              tope--;}
  21.          else {pila1[tope]=a;}
  22.          }
  23.       int sacar()
  24.           {if(tope==-1)
  25.            cout<<"\t\t\nPila Vacia ";
  26.            else{
  27.                 y=pila1[tope];
  28.                 pila1[tope]=0;
  29.                 tope--;
  30.                 return y;
  31.                 cout<<"\n\tElemento Eliminado "; }
  32.           }};
  33. class Pil
  34.      {public:
  35.       int tope2,z;
  36.       int pila2[tama2];
  37.       Pil(){tope2=-1;}
  38.        mostrar()
  39.          {for(int i=0; i<tama2;i++)
  40.                   {cout<<"\tPila2["<<i<<"]="<<pila2[i]<<endl;}}
  41.        insertar(int a)
  42.         {tope2++;
  43.          if(tope2==tama2)
  44.             {cout<<"\t\t\nPila llena "<<endl;
  45.              tope2--;}
  46.          else {pila2[tope2]=a;}
  47.          }
  48.        int sacar()
  49.           {if(tope2==-1)
  50.            cout<<"\t\t\nPila Vacia ";
  51.            else{z=pila2[tope2];
  52.                 pila2[tope2]=0;
  53.                 tope2--;
  54.                 return z;
  55.                 cout<<"\n\tElemento Eliminado "; }
  56.           }};
  57. class Pi
  58.      {public:
  59.       int tope3;
  60.       int pila3[tama3];
  61.       Pi(int z)
  62.           {tope3=-1;}
  63.        mostrar()
  64.          {for(int i=0; i<tama3;i++)
  65.                   {cout<<"\tPila3["<<i<<"]="<<pila3[i]<<endl;}}
  66.        insertar(int a)
  67.         {tope3++;
  68.          if(tope3==tama3)
  69.             {cout<<"\t\t\nPila llena "<<endl;
  70.              tope3--;}
  71.          else {pila3[tope3]=a;}
  72.          }
  73.        int sacar()
  74.           {if(tope3==-1)
  75.            cout<<"\t\t\nPila Vacia ";
  76.            else{pila3[tope3]=0;
  77.                 tope3--;
  78.                 cout<<"\n\tElemento Eliminado "; }
  79.           }};
  80. int main()
  81.      {int x=0;
  82.      Pila ob();
  83.      Pil o();
  84.      Pi obj();
  85.      cout<<"\n\nInsercion de Elementos a la Pila1\n";
  86.      randomize();
  87.      while(x<tama1)
  88.        {ob.insertar(random(10));
  89.         x++;}
  90.      ob.mostrar();
  91.      getch();
  92.      for(int i=0;i<tama2;i++)
  93.          {o.insertar(ob.sacar());}
  94.      o.mostrar();
  95.      for(int i=0;i<tama3;i++)
  96.          {obj.insertar(o.sacar());}
  97.      obj.mostrar();
  98.      getch();
  99.      return 0;
  100.      }

EI: juntando mensajes.

ya lo encontre jejeje el rpoblema eran los parentesis en los objetos del amin y el objeto de pi recibia parametro pero ya
10  Programación / Programación C/C++ / Sugerencias en: 1 Septiembre 2010, 19:36 pm
Código
  1. #include <conio>
  2. #include <iostream>
  3. #include <stdlib>
  4. #include <math>
  5.  
  6. class C
  7. {public:
  8.  int *c;
  9.  int r;
  10.  C(){c=new int [10];}
  11.  Union(int q[10],int p[10],int a,int b);
  12.  int suma(int q[10],int a);
  13.  double promedio(int a,int b);
  14.  double varianza(int a,int b);
  15.  double desviacion(int a);
  16. };
  17. main ()
  18.   {int a,z;
  19.    int *conjuntoA;
  20.    int *conjuntoB;
  21.    conjuntoA=new int [10];
  22.    conjuntoB=new int [10];
  23.    cout<<"Digite El Numero De Elementos Del Conjunto A: ";
  24.    cin>>a;
  25.    cout<<"Digite El Numero De Elementos Del Conjunto B: ";
  26.    cin>>z;
  27.    randomize();
  28.    cout<<"\nEl Conjunto A es : ";
  29.    for(int i=0;i<a;i++)
  30.       {conjuntoA[i]=random(100);
  31.        cout<<conjuntoA[i]<<" ";}
  32.    cout<<"\nEl Conjunto B es : ";
  33.    for(int j=0;j<z;j++)
  34.       {conjuntoB[j]=random(100);
  35.        cout<<conjuntoB[j]<<" ";}
  36.    C obj;
  37.    obj.Union(conjuntoA,conjuntoB,a,z);
  38.    cout<<"\nLa Suma De A es :"<<obj.suma(conjuntoA,a);
  39.    cout<<"\nLa Suma De B es :"<<obj.suma(conjuntoB,z);
  40.    cout<<"\nEl Promedio De A Es :"<<obj.promedio(obj.suma(conjuntoA,a),a);
  41.    cout<<"\nEl Promedio De B Es :"<<obj.promedio(obj.suma(conjuntoB,z),z);
  42.    cout<<"\nLa Varianza De A Es :"<<obj.varianza(obj.promedio(obj.suma(conjuntoA,a),a),a);
  43.    cout<<"\nLa Varianza De B Es :"<<obj.varianza(obj.promedio(obj.suma(conjuntoB,z),z),z);
  44.    cout<<"\nLa Varianza De A Es :"<<obj.desviacion(obj.varianza(obj.promedio(obj.suma(conjuntoA,a),a),a));
  45.    cout<<"\nLa Varianza De B Es :"<<obj.desviacion(obj.varianza(obj.promedio(obj.suma(conjuntoB,z),z),z));
  46.    getch();
  47.    }
  48. C::Union(int q[10],int p[10],int a,int b)
  49.   {for(int i=0;i<a;i++)
  50.       c[i]=q[i];
  51.    for(int i=0;i<b;i++)
  52.       {c[a+i]=p[i];}
  53.    cout<<"\nEl Conjunto Union De A y B Es : ";
  54.    for(int i=0;i<(a+b);i++)
  55.        {cout<<c[i]<<" ";}
  56.   return 0;}//Cierro Union
  57. int C::suma(int q[10],int a)
  58.    {r=0;
  59.     for(int i=0;i<a;i++)
  60.         {r+=q[i];}
  61.     return r;}//Cierro Suma
  62. double C::promedio(int a,int b)
  63.     {return a/b;}//Cierro Promedio
  64. double C::varianza(int a,int b)
  65.       {return a/(b-1);}
  66. double C::desviacion(int a)
  67.       {return sqrt(a);}
  68.  

lo que quiero es ver si hay otra forma de eliminar la info de r cada vez que llamo la funcion suma, ademas si hay sugerencias en otra parte del codigo se aceptan 
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines