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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18
111  Programación / .NET (C#, VB.NET, ASP) / Error: is not allowed here because it does not extend class System.Web.UI.Page en: 16 Mayo 2016, 21:09 pm
Estoy haciendo un sistema de tickets.

Todo funcionada bien pero ahora sale el error y estoy con que no he movido nada.

Código:
Parser Error Message: 'sistetma.tickets' is not allowed here because it does not extend class 'System.Web.UI.Page'.

La pagina .aspx tiene la siguiente primera linea.

Código
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="tickets.aspx.cs" Inherits="sistetma.tickets" %>

Y el codigo en el aspx.cs tiene:

Código
  1. using System;
  2.  
  3. namespace sistema
  4. {
  5.    public partial class tickets : System.Web.UI.Page
  6.    {
  7.        protected void Page_Load(object sender, EventArgs e)
  8.        {
  9. ...
  10.        }
  11.    }
  12. }

No veo el problema..
112  Foros Generales / Foro Libre / ¿Es malo no ver Television por los ultimos 10 años? en: 16 Mayo 2016, 17:50 pm
Esa es la pregunta ¿Es malo, bueno, tiene ventajas, desventajas?

Aun que no he visto television local en mucho tiempo tal vez mas de 10 años, disfruto de ver peliculas en el Cine y tambien disfruto de ver algunas Series en Netflix.

Y la ventajas que veo en lo que hago son

  • Veo lo que me gusta ver
  • Lo veo cuando lo quiero ver
  • Lo disfruto sin comerciales

La siguiente es una lista de por que no veo Television Local.

  • Tiene comerciales, muchos comerciales
  • Tu no elijes el contenido (Claro puedes buscar un canal que te guste)
  • Contenido de poca o nula calidad (Hay excepciones pero muy rara vez)

Aqui en mexico hay muy pocos canales y tenemos un duopolio televisivo que dicta lo que ve la mayoria de los mexicanos, que en la mayoria de las ocasiones no pasa de novelas y o programas de baja calida, peliculas repetidas de hace 10 años etc..

En fin

Otra de las razones por las que abro este tema es que muchas veces me siento mal por no poder seguir una conversacion con mis amigos cuando el tema es algo del momento de lo cual solo te enteras en programas de chismes televisivos.

Por ejemplo hoy me dicen por el grupo de Telegram que tenemos.

-Ya vieron que se murio fulanito.

A lo que contesto ¿Quien es fulanito?. Y me contestan

No puede ser que no lo conozcas, si a salido asi y alla... (Exclusivamente television local)

Y replico, realmente no lo conozco.


Y no es la primera vez que pasa, algunas veces hablan de cosas que pasan (En television) y yo me quedo ... de que hablan, por que hablan de esas cosas. ¿Podriamos volver al tema de computacion y/o matematicas o minimo hablar de las ultimas canciones de rock del grupo que nos gusta?

Siempre me han conocido por saber de muchos temas menos de television, y aun que se entraria en el tema de Conocimiento General, realmente no creo que los chismes de television deban entrar en la categoria de Conocimiento General incluso no creo que deban de ser considerado conocimiento

¿Que opinan ustedes?
113  Programación / Programación C/C++ / ¿Algoritmo alterno a itoa? en: 15 Mayo 2016, 00:18 am
Muy buen dia.

Tengo entre manos el siguiente problema.

Tengo en memoria un buffer que contiene números de gran longitud, puedo sumarlos, restarlos, dividirlos etc.

Ahora necesito imprimirlos en formato decimal, actualmente solo tengo forma de visualizarlos en formado hexadecimal.

ejemplo:

Código:
numero 1: 0000000000000020a7c0a09f032703
numero 2: 00000000000000000000000000000021a45141d6351f
numero 3: 00000000000000001ed31c62dfa50b
numero 4: 00000000000000000000000000000044b5f2b7695b70
numero 5: 00000000000000000040ab08571d224107
numero 6: 000000000000000000000000000000003ac807630f6218
numero 7: 00000000000000000000000072b11568f28c2a
numero 8: 000000000000000000000000000000000000607fe65ec43bdf

Numeros en Little Endian.


Lo anterior lo hago solo imprimiendo byte a byte en hexadecimal.

La pregunta aqui es.. ¿debo de busca el algoritmo ya hecho para convertir de entero a "Cadena Decimal" usado por itoa?

O recomiendan algun otro algoritmo que sea mas adecuado para números largos, repito el numero ya lo tengo en memoria y es de N cantidad de bits

El algoritmo itoa es el siguiente:

http://opensource.apple.com//source/groff/groff-10/groff/libgroff/itoa.c

y al aprecer no funciona para numeros como el que tengo.

Código
  1. #define INT_DIGITS 19 /* enough for 64 bit integer */
  2.  
  3. char *itoa(i)
  4.     int i;
  5. {
  6.  /* Room for INT_DIGITS digits, - and '\0' */
  7.  static char buf[INT_DIGITS + 2];
  8.  char *p = buf + INT_DIGITS + 1; /* points to terminating '\0' */
  9.  if (i >= 0) {
  10.    do {
  11.      *--p = '0' + (i % 10);
  12.      i /= 10;
  13.    } while (i != 0);
  14.    return p;
  15.  }
  16.  else { /* i < 0 */
  17.    do {
  18.      *--p = '0' - (i % 10);
  19.      i /= 10;
  20.    } while (i != 0);
  21.    *--p = '-';
  22.  }
  23.  return p;
  24. }
  25.  

Saludos
114  Seguridad Informática / Criptografía / Archivos con numeros Utiles en: 13 Mayo 2016, 20:31 pm
Dejare una lista de números útiles y sus respectivos archivos:

Tabla de Numeros enteros y sus respectivos cuadrados.


Lista de Números primos:

  • Números primos de un byte del 2 al 251 en total 54 : 1
  • Números primos de dos bytes del 257 al  65521 en total  6488 : 2
  • Numeros primos de tres bytes del 65537 al  16777213 en total  1071329: 3

Seguiré subiendo los archivos mientras los compruebo que no tengan errores.

Los números anteriores están en formato Litte Endian y solo necesitan la cantidad de bytes que indica el archivo.

También agregare el código necesario para búsqueda / leerlos a memoria y lo que se necesite.


Saludos
115  Foros Generales / Foro Libre / Acertijo - ¿Que contiene este archivo? en: 12 Mayo 2016, 22:42 pm
Pues eso cual es el contenido de este archivo.

- c
116  Programación / Programación General / Numeros Primos en: 10 Mayo 2016, 02:11 am
Muy buen dia.

Busco un metodo 100% seguro para deterinar si un numero dado es primo o no.

Es el metodo que estoy usanfo como lo indica wikipedia es dividir el numero dado entre todos los numeros primos que ya tengo guardados que sean menores o iguales a la raiz del numero dado y si en algun momento el resto de la divicion es 0 entonces el numero no es primo.

Para hacer mas eficiente el trabajo tengo guardadas los cuadrados n^2 en una tabla y cuando pregunto por un numero N solo hago una busqueda binaria y retorno el numero n mas cercano.

Cabe mencionar que ahorita apenas llevo numeros de hasta 7 bytes.

La pregunta aqui es.

¿Hay uno que sea mas rapido y con la misma certeza?
117  Programación / Programación C/C++ / Problema al escribir archivo - 0D le precede a 0A (Solucionado) en: 9 Mayo 2016, 06:06 am
Problema al escribir archivo...

Realmente estoy rompiéndome la cabeza desde hace unos 2 dias...  :silbar: :silbar: :silbar:

Al momento de guardar datos en un archivo escribo los datos de 2 bytes en 2 bytes.

Todo bien pero llega un momento en que el programa no guarda la información que debe de guardar, sin embargo si mando a imprimir lo que esta guardando esta información si es correcta, pero no la que se guarda en el archivo.

Código
  1. file = fopen(nombre,"a+");
  2. if(file) {
  3. debug("-primos[%i]",primos[offset]->valor,primos[offset]->bytes,offset);
  4. fwrite(primos[offset]->valor,primos[offset]->bytes,1,file);
  5. fclose(file);
  6. }
  7.  

Mando a llamar a una función debug para ver que es lo que se esta guardando, esta función me imprime el contenido de la memoria sin afectarlo...

Código
  1. void debug(char *s,unsigned char *ptr,unsigned int l,...) {
  2. va_list args;
  3. int i = 0;
  4. int len = strlen(s)*20;
  5. char *buffer;
  6. buffer = calloc(len,sizeof(char));
  7. va_start(args, l);
  8. vsprintf(buffer,s, args);
  9. printf("%s: 0x%x ",buffer,ptr);
  10. while(ptr && i < l) {
  11. printf("%.2x",ptr[i++]);
  12. }
  13. printf("\n");
  14. va_end(args);
  15. memset(buffer,0,len);
  16. free(buffer);
  17. }

Aquí lo importante es notar que llamo a fwrite para escribir en el archivo abierto con la opcion "a+"

Código
  1. debug("-primos[%i]",primos[offset]->valor,primos[offset]->bytes,offset);
  2. fwrite(primos[offset]->valor,primos[offset]->bytes,1,file);

La posición de memoria que se guarda es: primos[offset]->valor y la cantidad de bytes que se guardan con fwrite y se imprimen con debug es primos[offset]->bytes que para el ejemplo dado vale 2

La salida del programa va mas o menos asi...

Código:
-primos[54]: 0x567fd0 0101
-primos[55]: 0x567ef0 0701
-primos[56]: 0x567f10 0d01
-primos[57]: 0x567ff0 0f01
-primos[58]: 0x567f60 1501
-primos[59]: 0x567e60 1901
-primos[60]: 0x568000 1b01
-primos[61]: 0x567f20 2501
-primos[62]: 0x567f90 3301
-primos[63]: 0x568010 3701
-primos[64]: 0x568020 3901
-primos[65]: 0x567e80 3d01
-primos[66]: 0x567f40 4b01
-primos[67]: 0x567f50 5101
-primos[68]: 0x568030 5b01
...

y donde se presenta el problema es la siguiente:

Código:
-primos[372]: 0x568520 f509
-primos[373]: 0x568560 f709
-primos[374]: 0x5682c0 fd09
-primos[375]: 0x5683f0 130a
-primos[376]: 0x5682b0 1f0a
-primos[377]: 0x568570 210a
-primos[378]: 0x5681e0 310a
-primos[379]: 0x568390 390a
-primos[380]: 0x5683e0 3d0a
-primos[381]: 0x5681f0 490a
-primos[382]: 0x568330 570a
-primos[383]: 0x5683a0 610a
...


¿Nada anormal? Claro esa salida esta bien, el problema esta al guardar el archivo en ese ultimo segmento queda asi (Salida hexadecimal)

Código:
F509F709FD09130D0A1F0D0A210D0A310D0A390D0A3D0D0A490D0A570D0A610D0A630D0A670D0A6F0D0A750D0A7B0D0A7F0D0A810D0A850D0A8B0D0A930D0A970D0A990D0A9F0D0AA90D0AAB0D0AB50D0ABD0D0AC10D0ACF0D0AD90D0AE50D0AE70D0AED0D0AF10D0AF30D0A030B110B150B1B0B

Ahora que lo veo Noto un recurrente 0D y no tengo ni idea de donde sale, el detalle no veo error en donde se guarda el archivo repito:

Código
  1. debug("-primos[%i]",primos[offset]->valor,primos[offset]->bytes,offset);
  2. fwrite(primos[offset]->valor,primos[offset]->bytes,1,file);

En teoría lo que se muestra en la salida estándar y en el archivo creado debería de ser lo mismo primos[offset]->valor

Si a alguien le a pasado algo similar o de plano ve un error que yo no veo por favor avíseme.

No creo que sa detalle del sistema, el error se me presenta tanto en FreeBSD y en Windows
118  Foros Generales / Foro Libre / Acertijo - ¿Que son los archivos? en: 8 Mayo 2016, 20:34 pm
¿Que es el contenido de estos archivos?

1
2

Saludos!
119  Programación / Programación C/C++ / C vs C++ [Civil War] en: 3 Mayo 2016, 23:23 pm
Este post es totalmente offtopic del foro de Programacion C/C++

Las discuciones entre programadores que giran en torno al lenguaje C y sus derivados siempre son por temas un tanto tontos como si:

Código
  1. void funcion() {
  2. }

Código
  1. void funcion()
  2. {
  3. }

Que si espacio o tabulador, que si funciones o metodos que si unsigned o signed, que si new o malloc, que si malloc o calloc en fin..

Cuando aprendi programación iniciamos con orientado a objetos y despues ejemplos en C estandar y me agradaban mas los ejemplos sencillos en C, me gustaba tener mas control de la memoria y programar a mas bajo nivel.

A muchos no les gusta o no entienden los punteros o que se yo tal vez vienen de algun lenguaje de mas alto nivel cómo VB o de algun lenguaje script donde no se preocupan tanto por la memoria o los tipos de datos.

He aprendido muchos lenguajes tanto VB como C sharp, Java, Ensamblador, PHP, y varios lenguajes script puedo decir que todos tienen sus pro y sos contra, aun asi NO me canso de programar en C, hay veces que he tenido fricciones con compañeros por la forma en la que programo me dicen usa esto o has esto y la verdad yo nunca les he dicho com programar en fin...

Yo prefiero usar Tabuladores para separar.

¿Tienen ustedes fricciones por como programan o alguna vez le han dicho a alguien mas que mejor use una función u otra?
120  Programación / Programación C/C++ / Optimizando función manual de modulo o resto. en: 1 Mayo 2016, 23:14 pm
En su momento mas de alguno uso el operador modulo

r = a % n;

donde r es el resto de la división a/n donde n != 0

Ahora como estoy trabajando con numeros muy grandes de longitud variable el operador modulo como tal no me sirve, necesito crear la funcion que haga el modulo manualmente.

Si alguno de ustedes se perdio los temas, estos son algunos de ellos

Números de longitud variable en C (Numeros muy grandes)
Restas manuales en "Binario"

Ahora si hacemos la funcion modulo en forma de restas, tenemos solo le tenemos que restar al numero a el valor de n hastra que a sea menor que n

El siguiente codigo es muestra de ello de forma manual y sin ninguna optimizacion.

Código
  1. #include<stdio.h>
  2.  
  3. int main() {
  4. int resto,a,n,contador;
  5. a = 9999998;
  6. n = 3;
  7. resto = a;
  8. contador = 0;
  9. while(resto >= n) {
  10. resto-= n;
  11. contador++;
  12. }
  13. printf("resto: %u\nVeces en el ciclo %u\n",resto,contador);
  14. }

Salida:

Código:
resto: 2
Veces en el ciclo 3333332

Como vemos el numero de veces que entra al ciclo es el resultado de la división obtenido de forma iterativa mediante restas sucesivas.

Pero como se trata solo de la función "Modulo" o "Resto" no nos interesa el resultado de la división, para fines prácticos y rápidos realice esa función un poco mas optimizada y se podría optimizar mas, pero ya lo dejo a su consideración.

Código
  1. #include<stdio.h>
  2.  
  3. int main() {
  4. int resto,a,n,contador,n_pivote,resto_pivote,entrar;
  5. a = 9999998;
  6. n = 3;
  7. resto = a;
  8. contador = 0;
  9. resto_pivote = resto;
  10. n_pivote = n;
  11. entrar = 1;
  12. while(entrar && resto >= n) {
  13. resto_pivote-=n_pivote;
  14. if(resto_pivote>=0) {
  15. resto = resto_pivote;
  16. n_pivote*=2;
  17. }
  18. else {
  19. if(n_pivote > n) {
  20. n_pivote/=2;
  21. resto_pivote = resto;
  22. }
  23. else {
  24. entrar = 0;
  25. }
  26. }
  27. contador++;
  28. }
  29. printf("resto: %u\nVeces en el ciclo %u\n",resto,contador);
  30. }

Salida:

Código:
resto: 2
Veces en el ciclo 65

Como vemos el numero de veces que entra es muchísimo menor incluso si optimizamos mas la función para este ejemplo podremos llegar hasta solo 55 o 58 veces entrando al ciclo dado.

El programa utilizada una aproximación binaria ya que en cada iteracion al numero a se le resta un valor igual a n*2 veces la cantidad del ciclo anterior.

Dado que estoy trabajando con numero descomunalmente grandes... cualquier optimizan en estas funciones es mas que bien recibida.

Saludos!



Optimize aun mas el Código y ahora solo se ejecuta 42 veces para el ejemplo dado.

Ahora en lugar de incrementar el sustraendo dentro del ciclo principal lo incremento al máximo en un ciclo aparte antes del principal y posteriormente dentro del ciclo principal lo decremento hasta que sea el un multiplo de n inmediamtamente menor al valor actual de r

Código
  1. #include<stdio.h>
  2.  
  3. int main() {
  4. int resto,a,n,contador,n_pivote,entrar;
  5. a = 9999998;
  6. n = 3;
  7. resto = a;
  8. contador = 0;
  9. n_pivote = n;
  10. entrar = 1;
  11. while(n_pivote<resto) {
  12. n_pivote+=n_pivote;
  13. contador++;
  14. }
  15. while(entrar && resto >= n) {
  16. while(n_pivote>resto && n_pivote>n) {
  17. n_pivote/=2;
  18. contador++;
  19. }
  20. resto-=n_pivote;
  21. }
  22. printf("resto: %u\nVeces en el ciclo %u\n",resto,contador);
  23. }

Salida:

Código:
resto: 2
Veces en el ciclo 42

Considero yo que es el mas optimizado pero no se tal vez se puede ahorrar alguno que otro ciclo, la variable contador solo es para fines didácticos.

Saludos
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines