Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - crack81

#1
Hola en lugar de utilizar la funcion len para calcular el tamano de la cadena simplemente puedes iterar naturalmente sobre la cadena  usando el for y python se encarga de lo demas

Código (python) [Seleccionar]
[/code#declare variable
counter = 0
data = "Hello World"


for letter in data:
if letter.isalpha(): counter += 1

print "The string has {0} letters".format(counter)
#2
Java / Re: Duda, mala práctica?
10 Diciembre 2017, 01:24 AM
Pues en lo personal no hay mucho problema, aun asi puedes usar otra alternativa al famoso foreach y  en su lugar usar streams

Código (java) [Seleccionar]
import java.util.List;
import java.util.Optional;

public class Main
{

public static void main(String args[])
{

List<Product> products = new ArrayList<>();
products.add(new Product(10));
products.add(new Product(2));
products.add(new Product(4));

long id = 3;
Optional<Product> value = products.stream().filter(p -> p.getId() == id).findFirst();

if (value.isPresent())
{
System.out.println("The number found is " + value.get().getId());
} else
{
System.out.println("The number can't find");
}
}
}

class Product
{
private long id;

public Product(long id)
{
this.id = id;
}

public long getId()
{
return id;
}
}
#3
Programación C/C++ / Re: ¿Qué IDE elegir?
1 Octubre 2017, 17:03 PM
Los mejores sin duda son visual studio y Qt creator el ulitmo con la ventaja de ser  multiplataforma.
#4
Te evitarias muchos problemas si te descargas el QT creator viene con todas la bibliotecas de QT5 y ademas con el mejor IDE mulitplataforma para C++, simplemente no necesitas mas, el instalador de QT creator hace todo por ti.

Link: https://www1.qt.io/download-open-source/?hsCtaTracking=f977210e-de67-475f-a32b-65cec207fd03%7Cd62710cd-e1db-46aa-8d4d-2f1c1ffdacea#section-2

te aconsejo bajar el instalador offline si conexion es lenta.
#5
Yo no se nada de eso de " incursiones en sistemas ajenos" pero en lo personal el lenguaje mas simple y donde puedes ver resultados casi inmediatos es sin duda PYTHON https://www.python.org/ hay 2 versiones la 2.7 y la 3.6 yo aconsejo irte por las mas nueva si es que te interesa.

Saludos....
#6
Programación C/C++ / Re: Interfaces Qt
30 Diciembre 2016, 18:40 PM
Hola no es un libro pero una seria de video 131 para ser exactos que hablan acerca de la biblioteca Qt https://www.youtube.com/playlist?list=PL54fdmMKYUJvn4dAvziRopztp47tBRNum
ademas que esta en español espero te sirva.
Saludos.....
#7
Hola a lo mejor no me he sabido explicar bien, cuando usas xor 10 no es necesario poner xor -10 basta con volver a poner xor 10 para hacer efecto.

Revista la documentacion sobre el operador xor https://es.wikipedia.org/wiki/Disyunci%C3%B3n_exclusiva aplica para cuaquier lenguaje de programacion

Ejemplo
Supongamos que usamos la letra A  el equivalente numerico en la tabla ASCII es el 65 cuando usamos el XOR lo que estamos haciendo es es convertir ese 65 a binario el cual seria

01000001

si le aplicamos el XOR 10 lo que estariamos haciendo seria esto

01000001  ===> 65
00001010  ===> 10
------------
01001011  ===> el cual seria el numero 11

ese 11 seria el numero "cifrado" si quisieramos obtener el valor original valdria tomar el equivalente del 11 en binario y volver a aplicar el XOR 10

01001011   ===>11
00001010   ===>10
-------------
01000001 ===== Nos regresa el 65 ===> A

si te fijas nos regreso el valor original


Esto mismo aplicalo a arreglo de bytes o string  que al final siguen siendo numeros y tiene un funcionamiento similar


Tablas ASCII http://www.elcodigoascii.com.ar/
Aqui un ejemplo mas detallado sobre los operadores de bit http://www.conoce3000.com/html/espaniol/Libros/PascalConFreePascal/Cap03-06-Operadores%20para%20digitos%20binarios%20(bits%20-%20digitos%20binarios).php        

cabe aclarar que esta orientado al lenguaje Object Pascal pero la teoria aplica para cualquier lenguaje.








#8
Para mi que tu quieres guardar malware o alguna cosa rara en tu programa y parace  te estas haciendo una especie de shellcode para guardarlos y que estén cifrados  o alguna cosa rara  y descifrarlos  en tiempo de ejecución de tu "programa".

Bueno si eso o alguna otra a mi me da igual  :xD
Una alternativa "simple" es que le aplicas un xor a todo ese arreglo de bits y ya cuando lo quieres "descifrar" se lo vuelves a aplicar

Supongamos que a tu arreglo originalmente le aplicaste un xor 10 pues bastaria con le volvieras a aplicar ese xor 10  asi:

Código (csharp) [Seleccionar]
for (int i = 0; i < rawData.Length; i++)
{
   rawData[i] = (byte)(rawData[i] ^ 10);
}


Asi tu archivo o imagen seria restaurado a su estado original, quien tenga duda de la foto vea este enlace: https://i.gyazo.com/6762c171d0871999e12d04c5b627df69.png

PD: Aplicar desplazamiento de bit sin cuidado va a terminar dejando el archivo corrupto aunque se aplique el desplazamiento inverso.

#9
Personalmente C++ no es una buena opcion para crear interfaz graficas para los recien iniciados generalmente necesitas un buen nivel para realmente sacarle provecho, pero si aun asi te interesa y ya crees que tienes las suficientes bases C++ ofrece una gran cantidad de bibliotecas a tu disposicion entre ellas:

Gtkmm( implementacion en C++ de Gtk) http://www.gtkmm.org/es/
Window Forms (Usando el compilador de visual) https://msdn.microsoft.com/es-mx/library/ms235634(v=vs.80).aspx
WxWidgets  http://www.wxwidgets.org/
Qt https://www.qt.io/es/
C++ Builder https://www.embarcadero.com/products/cbuilder

Saludos....
#10
Tu algoritmo solo sirve para calcular si un numero es Par pero NO para comprobar si un numero primo, debes recordar que los numeros primos son aquellos numeros que solo pueden ser dividos entre 1 y ellos mismo  exceptuando el numero 2


ejemplo:

2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97

Tu programa estaria validando como numeros primos a valores como el numero 9.