• Jueves 28 de Marzo de 2024, 21:17

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - dunkelheit

Páginas: [1]
1
ASM (Ensamblador) / Sonido en asm
« en: Viernes 13 de Mayo de 2011, 17:44 »
Hola, me han dejado una tarea para emitir distintas frecuencias en ensamblador,e estado buscando codigos de sonidos con el 8253 y no me funcionan.

MOV     AL,10110110b    ; contador 2, modo 3, operación 11b, datos binarios
                 OUT     43h,AL          ; programar contador 2
                 MOV     AX,2711         ; 1.193.180 / 440 Hz (nota LA) = 2711
                 JMP     SHORT $+2
                 OUT     42h,AL
                 MOV     AL,AH
                 JMP     SHORT $+2
                 OUT     42h,AL          ; frecuencia programada
                 JMP     SHORT $+2
                 IN      AL,61h
                 OR      AL,00000011b
                 JMP     SHORT $+2
                 OUT     61h,AL          ; altavoz sonando
                 MOV     CX,0
     demora:     LOOP    demora          ; esperar un cierto tiempo por el peor método
                 IN      AL,61h
                 AND     AL,11111100b
                 JMP     SHORT $+2
                 OUT     61h,AL          ; altavoz callado

mi placa es una intel windows xp, nose que puedo estar haciendo mal. espero su ayuda

2
C/C++ / Problemas con retorno de punteros a struct
« en: Miércoles 17 de Noviembre de 2010, 16:55 »
BUenas tengo mi estructura

Código: C++
  1.  
  2. struct punto{
  3.     float x;
  4.     float y;
  5.     float z;
  6.     int tipo;
  7.     punto *sig;
  8. };
  9.  
  10.  


los datos los relleno en una clase y los muestro en este metodo

Código: C++
  1.  
  2. punto* Compuesto::mostrarALTOQ(){
  3.     if(PuntoI!=NULL){
  4.         punto *p = PuntoI;
  5.         while(p!=NULL){
  6.             printf("n(%f,%f,%f)n",p->x,p->y,p->z);      
  7.             p = p->sig;
  8.         }
  9.     }
  10.     return PuntoI;
  11. }
  12.  
  13.  

luego en otro cpp

llamo la clase y creo otro struct p

Código: C++
  1. Compuesto c =   Compuesto();
  2. punto *p = (c.mostrarALTOQ());
  3. printf("punto p es : %f",p->x);
  4.  

me muestra los puntos del metodo llamado pero cuando quiero ver directamente el punto x de p me sale una interrupcion (visual c++ 2008), espero que me puedan ayudar nose muy bien de apuntadores y facil q he hecho algo mal . gracias

3
OpenGL / Opengl + win32
« en: Lunes 8 de Noviembre de 2010, 15:37 »
Hola amigos, estoy haciendo un proyecto con opengl, para este lo que queria implementar menus para hacerlo mas formal, (el ingreso y visualizacion del proyecto) ya que opengl no cuenta (o nose si no me equivoco) con la forma de implementar esto, estuve utilizando tambien win32 el problema es que no puedo utilizar las funciones glut ( o si?) y ahora tengo un problema importante a mi ventana la quiero dividir en varias partes , esto se podia facilmente con glutcreatesubwindows(); pero ahora nose como poder utilizarlas espero q me ayuden

4
OpenGL / Re: Traslacion con OpenGL
« en: Domingo 3 de Octubre de 2010, 23:05 »
hola gracias por responder,
una consulta como haria para cambiar la coordenada de inicio del  glutWireSphere () para q no siempre sea  0,0

5
OpenGL / Traslacion con OpenGL
« en: Domingo 3 de Octubre de 2010, 10:36 »
Hola bueno tengo este problema, estoy haciendo un programa que rebote por una region (bordes) haciendo uso de traslacion (el clasico ping pong entre los extremos), estoy diseñando el algoritmo lo malo q sirve para un punto pero si de inicio pongo otro punto no cuadra para el rebote, se que estoy haciendo mal uso de la traslacion, por eso necesito una ayuda de como resolver este problema. gracias de antemano  

Citar
#include <windows.h>
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif

#include <stdlib.h>
#include<conio.h>
#include<iostream>


using namespace std;

GLfloat v = 3.0,a=45,b=0,px=a,py=b,ancho,alto;

void mipoligono() {
    glShadeModel(GL_SMOOTH);
    glBegin(GL_POINTS);
    glVertex2f(a,b);
    glEnd();
}

void objeto_geometrico(void) {
    mipoligono();
}


void display(void) {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    glPointSize(10);
    glTranslatef(px,py,0.0);
    glColor3f(1.0,1.0,1.0);
    objeto_geometrico();
    glFlush();
    glutSwapBuffers();
}

void girar_objeto_geometrico () {
    if(py>=0 && px > 0){
       while(px < ancho-50){
            display();
            cout<<"el valor de a es "<<px<<"y el valor de b es"<<py<<endl;
            px += v;
            py -= v;
        }
    }
}


void reshape(int w, int h) {
    glViewport(0,0,(GLsizei)w, (GLsizei)h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(-w/2,w/2,-h/2,h/2, -1.0, 1.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    ancho = w/2;
    alto = h/2;
}

int main(int argc, char **argv) {

    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
    glutInitWindowSize(500,500);
    glutCreateWindow("mi objeto bajo rotaciones");
    glutReshapeFunc(reshape); // invocamos a display() para dibujar nuestra escena
    glutDisplayFunc(display); // esta funcion llama a girar_objeto_geométrico() mientras no haya evento alguno ocasionado por el usuario
    glutIdleFunc(girar_objeto_geometrico);
    glutKeyboardFunc(teclado); /*glutMouseFunc(mouse);*/
//    glutMouseFunc(control_de_Mouse);
    glEnable(GL_DEPTH_TEST);
    glutMainLoop();
    return 0;
}

6
Java / pilas enlazadas
« en: Viernes 4 de Junio de 2010, 15:53 »
Hola, me e estado planteando un problemon con este algoritmo, solo necesito una  ayuda no el codigo completo , gracias .

diseñe un algoritmo que devuelva todos los nodos de una lista circularmente enlazada a la pila de nodos disponibles(sin usar), en tal forma que el tiempo de corrida de su algoritmo no depende del numero de nodos recuperados.

7
C/C++ / pila con listas y clases
« en: Sábado 7 de Noviembre de 2009, 00:41 »
hola tenia un problema de invertir el orden de una fila secuencial y la idea era guardarla en una pila y luego pasarla a otra fila , hize mi programa pero lo quise hacer con mas funciones para hacerlo mas ordenados, el problema es que al poner de argumento la pila al empilar ...no empila.

Código: C++
  1. #include <iostream>
  2. #include <conio.h>
  3. using namespace std;
  4.  
  5. struct nodo{
  6.        int valor;
  7.        nodo *sig;
  8. };
  9.  
  10. class pila{
  11.       private:
  12.               nodo *cima;
  13.       public:
  14.               void empilar(int);
  15.               int desempilar();
  16.               void mostrar();
  17.               pila();
  18.               ~pila();      
  19. };
  20.  
  21. pila::pila(){
  22.      cima = NULL;            
  23. }
  24.  
  25. pila::~pila(){
  26.    nodo * n = new nodo;
  27.    n = cima;
  28.    while(n!=NULL){
  29.         cima = n;
  30.         n=n->sig;
  31.         delete(cima);            
  32.    }
  33.    delete(n);                            
  34. }
  35.  
  36. void pila::empilar(int v){
  37.      nodo * nuevo = new nodo;
  38.      nuevo->valor = v;
  39.      nuevo->sig = NULL;
  40.      if(cima != NULL){
  41.         nuevo->sig = cima;      
  42.      }
  43.      cima = nuevo;    
  44. }
  45. int pila::desempilar(){
  46.      int valor;
  47.      if(cima==NULL) cout<<"Pila vacia";
  48.      else{
  49.           valor = cima->valor;
  50.           cima = cima->sig;
  51.      }
  52.      return valor;
  53. }
  54.  
  55. void pila::mostrar(){
  56.    nodo * n = new nodo;
  57.    n = cima;
  58.    if(n==NULL){cout<<"nVACIO"<<endl;}
  59.    while(n!=NULL){
  60.        cout<<"Valor:"<<n->valor<<endl;
  61.        n=n->sig;              
  62.    }
  63.    
  64. }
  65.  
  66. int menu(){
  67.    int op;
  68.    cout<<"[1]Crear fila"<<endl;
  69.    cout<<"[2]Invertir fila"<<endl;
  70.    cout<<"elegir:";
  71.    cin>>op;
  72.    return op;
  73. }
  74. void fila(){
  75.    FILE *F;
  76.    int n,dato;
  77.    F=fopen("datos.txt","a+");  
  78.    cout<<"cuantos datos desea ingresar:";
  79.    cin>>n;
  80.    for(int i=0;i<n;i++){
  81.        cout<<"escribe el dato:";cin>>dato;    
  82.        fwrite(&dato,sizeof(dato),1,F);      
  83.    }
  84.    fclose(F);
  85. }
  86.  
  87. int empilarfila(pila p){
  88.      FILE *F;
  89.      int dato,i=0;
  90.       F=fopen("datos.txt","r");
  91.       fread(&dato,sizeof(dato),1,F);
  92.       while(!feof(F)){
  93.             cout<<"empilando:"<<dato<<endl;
  94.             p.empilar(dato);
  95.             fread(&dato,sizeof(dato),1,F);          
  96.             i++;
  97.       }
  98.       return i;
  99. }
  100. void desempilarfila(int n,pila p){
  101.      FILE *G;
  102.      int dato;
  103.      G=fopen("back.txt","a+");
  104.      for(int i=0;i<n;i++){
  105.         dato=p.desempilar();
  106.         fwrite(&dato,sizeof(dato),1,G);    
  107.      }
  108.      fclose(G);
  109.      
  110. }
  111. int main(){
  112.    pila p1;
  113.    int opcion,n;
  114.    do{
  115.       opcion=menu();
  116.       if(opcion==1){
  117.            fila();        
  118.       }  
  119.       else{
  120.            if(opcion==2){
  121.                n=empilarfila(p1);
  122.                p1.mostrar();
  123.                //desempilarfila(n,p1);          
  124.            }
  125.       }
  126.        
  127.    }while(opcion);
  128.    
  129.    
  130. return 0;
  131. }
  132.  

espero que me puedan ayudar cual seria el problema ..gracias

8
Java / Dar resultado en un textfiel
« en: Jueves 1 de Octubre de 2009, 05:17 »
hola quisiera implementar un programa en java que me de como resultado en un textfiel
esta es mi principal
Código: Java
  1. public class Main {
  2.    
  3.  
  4.     public Main() {
  5.     }
  6.     public static void main(String[] args) {
  7.         Checking checkingAccount = new Checking("1234",150);
  8.         Saving savingAccount = new Saving("12399", 100,0.06);
  9.         savingAccount.deposit(700.00);
  10.         try{
  11.             checkingAccount.withdraw(60.00);
  12.            
  13.         }
  14.        
  15.         catch(Exception ex){ex.printStackTrace();
  16.         }
  17.         System.out.println("Checking Balance is: " +
  18.                 checkingAccount.getBalance() );
  19.         System.out.println("Saving Balance is: " +
  20.                 savingAccount.getBalance() );
  21.     }
  22.  

qusiera imprimir  checkingAccount.getBalance()  y  savingAccount.getBalance() en un textfield, investigue que se hace de esta forma ..pero no me sale espero que me puedan ayudar. gracias
       JTextField campo = new javax.swing.JTextField();
        String valor="hola";
        campo.setText(valor);

9
C/C++ / Re: aplicacion de java a c++
« en: Jueves 1 de Octubre de 2009, 02:27 »
solo lo hago para comparacion de los contructores

Circulo c1;
Circulo c2(1,1,1);
donde los primeros 1,1 son heredados de la clase punto(1,1) en c2 y (0,0) para c1
para ver si son iguales. como les dije cuando pongo ==  sale como si fuera true y en verdad es falso ya q  c1 seria (0,0,0) y c2 (1,1,1)
espero q me hayas entendido gracias

EI: juntando mensajes.

bueno gracias por la ayuda es como dijist en un comienzo declare el operador != y me funciono ..gracias ^^

10
C/C++ / Re: aplicacion de java a c++
« en: Jueves 1 de Octubre de 2009, 00:32 »
disculpenme denuevo pero tratando de implementar mas el programa hize una clase heredada llamada circulo que coje los puntos de la clase punto... en java el equals es asi

Código: Java
  1. public boolean equals (Object refo) {
  2.         if(refo instanceof circUlo){
  3.             pUnto otrop = (pUnto)refo;
  4.             pUnto estepUnto = new pUnto(super.getX(),super.getY());
  5.             circUlo otroc = (circUlo)refo;
  6.             return((super.equals(otrop)) && this.radio == otroc.radio);
  7.         }
  8.         else return false;
  9. }
  10.  

asi que como ustedes me explicaron del operator == trate de hacerlo asi

Código: C++
  1. bool Circulo::operator ==(const Circulo& ref) {  
  2.         Circulo otroc = (Circulo)ref;
  3.         punto otrop = (punto)ref;
  4.         punto estepunto(punto::getX(),punto::getY());
  5.         return((punto::operator ==(otrop)) && (this->radio == otroc.radio));      
  6. }
  7.  

en el main implemente esto

Circulo c1;
Circulo c2(1,1,1);

y cuando pongo la condicion

Código: C++
  1. if(c1 != c2){
  2.           cout<<"c1 != c2"<<endl;      
  3. }
  4. else
  5. {
  6.           cout<<"c1 == c2"<<endl;    
  7. }
  8.  

me sale error : no match for 'operator!=' in 'c1 != c2'

y cuando pongo

Código: C++
  1. if(c1 == c2){
  2.           cout<<"c1 == c2"<<endl;      
  3. }
  4. else
  5. {
  6.           cout<<"c1 != c2"<<endl;    
  7. }
  8.  

me vota verdadero  C1 == C2 cuando deberia ser falso
me e enredado un poco haciendo el operator cuando es de una clase heredada espero que me puedan ayudar . gracias ^^

11
C/C++ / Re: aplicacion de java a c++
« en: Miércoles 30 de Septiembre de 2009, 23:20 »
muchas gracias por su ayuda.. me sirvio mucho esta parte

#
#     Punto pt1; // mejor instanciar directamente, en la pila (sin hacer un new)
#     Punto pt2(2,3);

y tmb ver q OPERATOR era una palabra reservada yo pensaba que era un nombre de metodo cualquiera ...u.u errores de principiante ahora si me corrio el programa ..de verdad le agradesco a todos ustedes ^^

12
C/C++ / Re: aplicacion de java a c++
« en: Miércoles 30 de Septiembre de 2009, 22:00 »
hola gracias por responder pero al hacer

pero en el metodo equals  

bool punto::equals(const punto &refo){
     //const punto* prefo = dynamic_cast<const punto*>(&refo);
     punto otro =   (punto) otro;
     return ((this->x == otro.x) && (this->y == otro.y));
}

esto no es la sobrecarga ?? o como seria no entiendo mucho  porque recien me inicio en poo.. espero me puedas ayudar .gracias

13
C/C++ / aplicacion de java a c++
« en: Miércoles 30 de Septiembre de 2009, 21:51 »
Hola bueno estoy q practico con una aplicacion que implemento en java de comparacion de puntos, todo bien me salio pero ahora quiero implementar el mismo programa pero en C++... aca les dejo mi proyecto en java.

Código: Text
  1.  
  2. package prUegafigUras;
  3. public class pUnto {
  4.  
  5.     private double x;
  6.     private double y;
  7.  
  8.     public pUnto () { this.setX(0); this.setY(0);
  9.     }
  10.  
  11.     public pUnto (double x, double y) {
  12.         this.setX(x);
  13.         this.setY(y);
  14.     }
  15.     public boolean equals (Object refo) {
  16.         if(refo instanceof pUnto){
  17.             pUnto otro = (pUnto)refo;
  18.             return((this.x==otro.x)&&(this.y == otro.y));
  19.         }
  20.         else return false;
  21.     }
  22.     public double getX () {
  23.         return x;
  24.     }
  25.     public void setX (double x) {
  26.         this.x = x;
  27.     }
  28.     protected double getY () {
  29.         return y;
  30.     }
  31.     public void setY (double y) {
  32.         this.y = y;
  33.     }
  34.     public String toString () {
  35.         return this.getClass().getSimpleName()+"["+ this.getX()+","+ this.getY()+"]";
  36.     }
  37. }
  38.  
  39.  

Código: Text
  1. package prUegafigUras;
  2.  
  3. public class Demo {
  4.     public static void main (String[] args) {
  5.         pUnto p1= new pUnto();
  6.         pUnto p3 = new pUnto(0,0);
  7.         if(p1.equals(p3))System.out.println("p1=p3");
  8.     }
  9. }
  10.  


Para c++ estoy usando dev c++ 4.9, entonces cree mi proyecto con mi fichero.h y mi cpp

Código: Text
  1.  
  2. using namespace std;
  3.  
  4. class punto {
  5.   private:  double x;
  6.             double y;    
  7.   public:  
  8.          punto();
  9.          punto(double x,double y);
  10.          bool equals(const punto& refo);
  11.          
  12.   private:
  13.           void setX(double x);
  14.           void setY(double y);
  15.   protected:
  16.           double getY();
  17.           double getX();
  18.          
  19.        
  20. };
  21. bool punto::equals(const punto &refo){
  22.      //const punto* prefo = dynamic_cast<const punto*>(&refo);
  23.      punto otro =   (punto) otro;
  24.      return ((this->x == otro.x) && (this->y == otro.y));
  25. }
  26.  
  27. punto::punto() {
  28.      this->setX(0);
  29.      this->setY(0);
  30. }
  31.  
  32. punto::punto(double x,double y) {
  33.      this->setX(x);
  34.      this->setY(y);              
  35. }
  36.  
  37. double punto::getX(){
  38.           return x;          
  39. }
  40.  
  41.  
  42. void punto::setX(double x){
  43.           this->x = x ;
  44.  }
  45.  
  46. double punto::getY () {
  47.         return y;
  48. }
  49. void punto::setY (double y) {
  50.           this->y = y ;
  51. }
  52.  
  53.  

main.cpp

Código: Text
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include "punto.h"
  4.  
  5.  
  6. int main(){
  7.     int h;
  8.     punto h1;
  9.     punto* p1 = new punto();
  10.     punto* p2 = new punto(0,0);
  11.    
  12.    //if(p1->equals(p2)){}
  13.  
  14. }
  15.  
  16.  
  17.  

el problema es en comparar p1 con equals p2 y ahi recien imprimir si son iguales o no .... como lo haria en c++ ?? espero que me puedan ayudar. gracias de antemano

Páginas: [1]