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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Temas
Páginas: 1 2 [3] 4 5
21  Programación / Programación C/C++ / arrays y punteros. en: 24 Septiembre 2016, 00:48 am
Código
  1. int array[5];
  2. array[0] = 12;
  3. std::cout << &array << std::endl;//1
  4. std::cout << array  << std::endl;//2
  5. std::cout << *array << std::endl;//3

Con el codigo anterior se puede apreciar claramente que la direccion de memoria en la que esta localizado el array (1) coincide con la direccion de memoria a la que apunta el array (2). En otras palabras: los arrays son punteros que se apuntan a si mismos.

Sin embargo, si un puntero se apunta a si mismo, entonces el operador de dereferencia (el asterisco) nos devolvera la direccion de memoria del array otra vez, ya que es lo que contiene la variable. Sin embargo, en vez de eso se nos muestra el int que hayamos guardado ahi. (En este caso, el numero 12). La pregunta es ¿Por qué? Es mas ¿Cómo es posible? Según esto, estamos guardando 2 valores completamente diferentes al mismo tiempo en la misma ubicacion: la direccion de memoria del array(y del primer elemento del mismo array), y el numero 12.

Aqui dejo el codigo completo para que no tengais mas que copiar y pegar directamente:
Código
  1. #include <iostream>
  2.  
  3. int main(int argc, char** argv)
  4. {
  5. int array[5];
  6. array[0] = 12;
  7. std::cout << &array << std::endl;//1
  8. std::cout << array  << std::endl;//2
  9. std::cout << *array << std::endl;//3
  10. return 0;
  11. }

Y aqui el link a un entorno de desarrollo online con el codigo para que no tengais que molestaros en abrir ningun programa para probarlo:
https://goo.gl/7LWmg4
22  Programación / Programación C/C++ / char16_t, char32_t y wchar_t. ¿Para que estan? en: 18 Septiembre 2016, 18:55 pm
Cuando creo variables de estos tipos y le asigno un caracter, cuando lo imprimo por pantalla tengo que hacerle casting de char para ver el caracter. ¿Para que sirven entonces? Ya hay tipos de variables con el mismo tamaño que estos.
23  Programación / Programación C/C++ / ¿Cuando hay que usar c-like, constructor y uniform? en: 18 Septiembre 2016, 18:45 pm
Parece que hay 3 formas de inicializar variables, pero no me queda claro cuando usar una u otra.

Código
  1. int n1 = 2;//c-like
  2. int n2 (3);//constructor
  3. int n3 {5};//uniform

Las 3 formas funcionan igual y hacen lo mismo de la misma manera.
Mi pregunta es ¿Cuando es mas recomendable usar una u otra?
24  Programación / Java / ¿Para que sirve ImageObserver? en: 9 Abril 2016, 17:18 pm
Tengo entendido que el metodo que tiene simplemente devuelve un booleano para indicar si se ha cargado o no la imagen y que se usa cuando se utilizan imagenes de internet, pero ¿Podrían poner un ejemplo? Esque no entiendo, por ejemplo, como debería ser implementado ese método o como influye el hecho de que usemos null para pintar una imagen cuando esa imagen esta en el ordenador en lugar de internet. He buscado mucho en internet al respecto pero en todos los ejemplos que encuentro solo veo que utilizan null.
25  Programación / Java / Imagenes en java en: 8 Abril 2016, 18:00 pm
Cuando ejecuto el siguiente codigo utilizando Toolkit, no aparece la imagen hasta que le cambio el tamaño a la ventana. Se que se puede solucionar utilizando ImageIO o ImageIcon, pero me gustaria saber que diferencia hay entre usar uno y otro y por que tengo que cambiar el tamaño de la ventana cuando utilizo Toolkit para que se muestre la imagen.
Código:
package main;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Toolkit;

import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Test {

public static void main(String[] args) throws IOException{
JFrame ventana = new JFrame();
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Image imagen =
//DESCOMENTA UNO DE LOS TRES COMENTARIOS SIGUIENTES PARA APRECIAR LA DIFERENCIA ENTRE UNO Y OTRO
// ImageIO.read(new File("IMAGEN.png"));
// Toolkit.getDefaultToolkit().getImage("IMAGEN.png");
// new ImageIcon("IMAGEN.png").getImage()
JPanel panel = new JPanel(){
private final static long serialVersionUID = 1L;
@Override
public void paint(Graphics g) {
g.drawImage(imagen, 0, 0, null);
}
};
panel.setPreferredSize(new Dimension(300,300));
ventana.add(panel);
ventana.pack();
ventana.setVisible(true);
}

}
PD: Acabo de descubrir algo de lo mas inquietante: Si creo un ImageIcon con la imagen antes o despues de usar Toolkit, tambien se soluciona. ¿Alguna idea de porque sucede esto?

Cuando lo probeis tened en cuenta que le teneis que poner una imagen para ver el resultado y llamarla IMAGEN.png.

A todo esto, ¿Cual es la diferencia entre obtener una imagen usando ImageIcon, Toolkit e ImageIO?
Código:
new ImageIcon("IMAGEN.png");
Toolkit.getDefaultToolkit().getImage("IMAGEN.png");
ImageIO.read(new File("IMAGEN.png"));
26  Programación / Java / Como usar setLocationRelativeTo en: 4 Abril 2016, 09:10 am
Para que sirve el metoo setLocationRelativeTo?
Por mas que busco en internet solo encuentro ejemplos en los que se le pasa por parametro 'null', que lo que hace es centrar la ventana:
Código:
setLocationRelativeTo(null);
Pero no encuentro ningun ejemplo que utilize un valor distinto de null. Se supone que lo que hace es colocar la ventana relativo al objeto que se le pasa, pero lo he probado y nada, que sigo sin ver como funciona.
¿Alguien puede ayudarme?
Gracias de antemano.
27  Programación / Programación C/C++ / Programar en C o ensamblador para la maquina virtual de java en: 11 Marzo 2016, 13:33 pm
Teniendo en cuenta que C es un lenguaje que depende en gran parte de la maquina, ¿Se puede programar en C para la maquina virtual de java? La ventaja de java esque es portable, pero lento por ser de alto nivel. Sin embargo C es mas rapido por ser de mas bajo nivel, pero no portable, asi que se me ocurrió que sería buena idea programar directamente en C para la maquina virtual de java, de modo que los programas contarian con las ventajas de los 2 lenguajes.

Lo mismo digo para ensamblador.
28  Programación / Java / this y super: ligadura dinamica en: 17 Febrero 2016, 11:11 am
Tengo las siguientes 3 clases:
Código:
public class ClaseA {
public String metodo1(){
return "A";
}
public String metodo2(){
return this.metodo1();
}

}
Código:
public class ClaseB extends ClaseA {
public String metodo1(){
return "B";
}
public String metodo2(){
return this.metodo1() +""
+super.metodo1();
}

}
Código:
public class ClaseC extends ClaseB {
public String metodo1(){
return "C";
}

}
Y aparte también tengo una clase de prueba:
Código:
public class PruebaClase{
public static void main(String[] args) {
ClaseA objetoA1 = new ClaseC();
System.out.println(objetoA1.metodo2());
ClaseA objetoA2 = new ClaseB();
System.out.println(objetoA2.metodo2());
}

}
Esta clase de prueba produce la siguiente salida:
Código:
CA
BA
Pero, ¿Porqué?
En un principio, al ejecutarse el metodo2 de la claseC, utiliza el de la claseB porque lo hereda. Desde el metodo2 de la claseB se utilizan el metodo1 de la misma instancia (al ser una instancia de C se refiere al metodo que retorna una "C") y al metodo1 de la clase superior. Y aqui es donde entra la pregunta: ¿Porqué en este caso el metodo1 de la clase superior se refiere al de la claseA y no al superior de la instancia, que al ser una instancia de la claseC deberia referirse a la claseB?
29  Programación / Bases de Datos / Para que sirven las foreign key en: 6 Febrero 2016, 19:41 pm
Cuando hago una consulta en mysql que conlleva el uso de varias tablas utilizo
Código:
SELECT NombrePeliculas, NombreGeneros
FROM Peliculas, Generos
WHERE Peliculas.idGeneros = Generos.idGeneros;
Aunque tambien podria utilizar los JOIN
Código:
SELECT NombrePeliculas JOIN NombreGeneros
ON Peliculas.idGeneros = Generos.idGeneros;
Pero en cualquiera de los dos casos el uso de las foreign key es completamente innecesario, ya que tanto si indico que es una clave ajena como si no, funciona igualmente.
Entonces, ¿Cual es la verdadera escencia de las foreign key?

Sospecho que habrá alguna forma de unir tablas con las foreign key que todavia no he visto, pero por mas que busco en internet no encuentro nada  :(
30  Programación / Java / Retos de java en: 19 Enero 2016, 20:54 pm
No se si este es el lugar correcto para proponer retos de java, si no es asi le pido a los moderadores que muevan este hilo al sitio correcto.

Reto 1: Adios punto y coma.
¿Serías capaz de programar en java sin utilizar este simpatico caracter para separar sentencias?
EDITO(22/01/2016) Por ejemplo, hacer un algoritmo de ordenamiento sin usar los que ya proporciona java
Nota: es posible.

Reto 2: Perdido entre las dimensiones
¿A que no eres capaz de crear una función que declare un array de N dimensiones? (Es decir, que devuelva un objeto de una clase generica en el que su atributo generico sea del tipo array de N dimensiones)
Si ademas eres capaz de inicializarlo me habrás superado

Reto 3: Recursividad sin recursos
Supongamos el caso de una funcion recursiva. Lo normal es que cuando se llame a si mismo lo haga pasando por parametro un valor diferente. Por ejemplo, el factorial de un numero es ese por el factorial del anterior. Pero ¿Seria posible hacer recursividad si la funcion no tiene parametros por el cual pasarle nuevos valores cuando se llama asi mismo? Claro que si. Solo habria que usar atributos de la clase en la que implementas la funcion, pero ¿Que tal si te digo que no puedes usar esos atributos? ¿Como harias una funcion recursiva entonces? (Reto añadido el 22/01/2016)

Reto 4: Bucles y mas bucles
Si quieres sumar todos los numeros de 1 a N, (Es decir, el sumatorio de los primeros N numeros) haces un bucle. Si quieres sumar todos los sumatorios de 1 a N (Sumatorio de sumatorio, llamemosle sumatorio de grado 2) haces un bucle dentro de un bucle. ¿A que no te atreves a sumar el sumatorio de grado G de los numeros de 1 a N? Existe una formula matematica, pero la idea es hacer N bucles dentro de bucles (Reto añadido el 22/01/2016)

EDITO(22/01/2016):Respecto del problema del punto y coma, me refiero a no utilizarlo en situaciones que normalmente harian falta. Por ejemplo suponte que tengo un array y quiero ordenarlo, pero tuviera que crear el metodo en lugar de usar uno como Arrays.sort ¿Que hariais entonces? ¿A que ya no parece tan sencillo?
De todos modos vosotros tambien podeis sugerir retos en este mismo hilo. Si lo veo edito este mensaje y lo añado por cortesia del que haya sugerido el reto.
Páginas: 1 2 [3] 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines