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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 ... 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 [101] 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 ... 122
1001  Programación / Programación C/C++ / Re: Comparar cadenas sin usar strcmp en: 25 Octubre 2010, 04:11 am
Paso por paso.

El for no tiene cuerpo, todas las comprobaciones se hacen en la condicion de continuidad. (Date cuenta de que nada mas terminar la declaracion del for, hay un punto y coma, por lo tanto el valor se le asigna a ord al salir del for)

Cualquier cadena termina en cero, y cero en C significa falso y distinto de cero verdadero. Por lo tanto
Código
  1. nom1[k] && nom2[k]
  2.  
significa que for se ejecutara mientras las dos cadenas tengan un caracter, o lo que es lo mismo, que el for finalizara cuando se acabe una de las dos cadenas (o las dos).

La siguiente condicion te dice que el for continuara mientras las letras de la posicion actual sean iguales.

Es decir, de todas todas se saldra del for si alguna de las cadenas ha terminado o si el caracter de la posicion i es distinto.

(cambio la i por la k para que no me salga en cursiva)

Caso1: nom1 ha terminado
    En este caso, nom1[k] == 0, por lo tanto si la segunda cadena es mas larga, 0 - letra (no simbolo, sino letra) sera menor que cero. Y si la segunda cadena tambien ha terminado, las dos seran iguales:

Hola
Holaa

o sino

Hola
Hola

(compruebalo mirando las condiciones del for con lapiz y papel)

Caso2: nom2 ha terminado
    Si se da este caso, nom1 no habra terminado (estudia sobre la evaluacion del y logico), pero nom2 si, por lo tando nom1[k]!=0 y nom2[k] == 0, suponiendo que nom1[k] es una letra del alfabeto, se tiene que nom1[k] > 0 y nom2[k] == 0. Es decir, nom1[k] - nom2[k] > 0, lo cual tiene su logica, ya que todas las letras de nom1 seran iguales a las de nom2 mientras no se termine nom2, pero nom1 sera mas larga:

Holaa
Hola
(como antes, comprueba con lapiz y papel que efectivamente es asi)

Caso3: nom1[k] != nom2[k]
    Ahora no ha terminado ni nom1, ni nom2 y se ha encontrado una letra diferente en las cadenas. Por lo tanto nom1[k] - nom2[k] sera menor o mayor que cero, segun nom1[k] sea menoro o mayor alfabeticamente que nom2[k].

(como siempre, compruebalo con lapiz y papel)

¡Saludos!
1002  Programación / Programación C/C++ / Re: Comparar cadenas sin usar strcmp en: 25 Octubre 2010, 03:45 am
¡Buenas!

hace mucho que no pongo codigos... pero viendo que la gente se anima...

Código
  1.  
  2. /*
  3.  * mystrcmp < 0 si s1 < s2
  4.  * mystrcmp ==0 si s1 == s2
  5.  * mystrcmp > 0 si s1 > s2
  6.  */
  7. int mystrcmp(char* s1,char* s2)
  8. {
  9.    for(; *s1 && *s2 && (*s1) == (*s2) ; s1++ , s2++);
  10.  
  11.    return ((*s1) - (*s2));
  12. }
  13.  
  14.  

Eso si trabajas con funciones, sino en tu codigo podrias poner

Código
  1. for(i = 0 ; nom1[i] && nom2[i] && nom1[i] == nom2[i] ; i++);
  2.  
  3. ord = nom1[i] - nom2[i]; /* y ord tendra los valores de la funcion anterior */
  4.  

Espero no haberme confundido, ya que ni siquiera he probado el codigo...  :silbar:

¡Saludos!
1003  Foros Generales / Noticias / Re: Wikileaks revela que EE UU permitió torturas sistemáticas en Irak en: 25 Octubre 2010, 03:25 am
 ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) Esto por wikileaks
(Y no hay emoticono que describa lo que siento por EEUU y el apoyo que por su parte han recivido los torturadores y asesinos en la guerra de Irak)
1004  Programación / Programación C/C++ / Re: compilar dll en: 25 Octubre 2010, 03:06 am
¿No estaras intentando meter todo el codigo de arriba en un fichero?

Tienes tanto el fichero .cpp, como el .h y el .def

Solo tienes que crear el proyecto copiar el codigo y compilar.

Si no sabes lo que es un fichero de cabecera (header) o crear un programa partiendo de multiples ficheros fuente, empieza por lo mas basico.

¡Saludos!
1005  Programación / Programación C/C++ / Re: ploblema al compilar ejercicio en C en: 20 Octubre 2010, 12:38 pm
no es por nada pero estoy viendo clase de ello y te puedo asegurar que sin colocar lo que me has dicho el programa corre lo de las comillas se me ah pasado y gracias por la ayuda.

Disculpa, yo este año tambien he empezado un ciclo de programacion y te puedo asegurar que lo que enseñan esta lejos de ser correcto. Supongo que utilizaras un compilador borland (el 5.XX ejemplo) que te dejara compilar con un monton de errores que un compilador que respete el estandar no te dejara compilar.

Código
  1. int main()
  2.  
Estas diciendo que main es una funcion que devuelve un entero. Y por mucho que diagas lo contrario estas cometiendo un error, ya que no estas devolviendo nada al entorno que lo ejecuta.

Lo de las comillas ya se te ha dicho.

Me parece que tambien te han dicho que estas guardadndo valores reales en valores enteros, por lo que estas perdiendo informacion.

Y por ultimo (creo), scanf necesita que le pases direcciones de memoria para poder cambiar variables y en alguno de los que tu has puesto (buscalo), has puesto directamente una variable en lugar de su direccion... (que por cierto, me acabo de dar cuenta, tambien te lo habian dicho...

Si se te corrige es porque no sabes o porque haces mal las cosas. Si no quieres aceptar lo que se te dice en las respuestas no preguntes. Nos ahorraras tiempo.

¡Saludos!
1006  Programación / Programación C/C++ / Re: C++: Duda, Alternativa al IF:eof() en: 17 Octubre 2010, 20:41 pm
Vuelvo a repetir porque no sé si es que me explico muy mal o es que no se me lee xD que desastre!!

eso no se puede hacer, y te explico por qué

Imaginemos que tenemos un fichero con una línea de datos que queremos recuperar.

Sin leer la línea--> LLamamos a la función eof() y nos devuelve false, como es normal.

Leemos la primera línea, primera y única. Llamamos al getline y a continuación llamamos a eof() y nos devuelve FALSE!!!! porque necesita una lectura más. es decir:

Si intentamos leer una nueva línea como no hay ahora es cuando eof devuelve TRUE.

¿Tan dificil es entender lo que digo?
un saludo!!

¬¬

Revisa el pseudo que te he dejado y comprueba que es lo que hace con el ejemplo que me has puesto

Código:
Leer fichero //cargo la linea del fichero

EOF?
No -> Proceso la informacion

//Ahora ya no queda informacion en el fichero
Leer fichero //No hay informacion y se activa EOF

EOF?
Si -> Las acciones que quieras

¿No era tan complicado no? Si leer lo que ponen los demas tampoco cuesta tanto.

¡Saludos!
1007  Programación / Programación C/C++ / Re: ejercicio conclase pag 70 ejercicio 1 en: 17 Octubre 2010, 07:12 am
¡Buenas!

Varias cosas:

 + Una nota puede no ser un numero entero.
 + Si divides un numero entero por otro, el resultado sera la parte entera de la division.
 + Utiliza otra forma alternativa de lectuda de stdin, que te permita el vaciado completo del bufer de entrada, y posteriormente, utiliza el equivalente a getchar que haya para istream.

¡Saludos!

(Es posible que me deje algo... (no estoy en plenas facultades (es lo que tiene la cerveza(y alguna otra bebida)))...) XD
1008  Programación / Programación C/C++ / Re: C++: Duda, Alternativa al IF:eof() en: 17 Octubre 2010, 07:05 am
¡Buenas!

La solucion la veo bien sencilla.

Código:
Leer fichero

Si no fin fichero
{
    ejecutas lo que quieras
}
Sino
{
    Acciones en caso de alcanzar fin fichero.
}

Tan sencillo como esto.

¡Saludos!
1009  Foros Generales / Noticias / Re: Los operadores advierten de que el cierre de webs atascará los juzgados en: 17 Octubre 2010, 06:54 am
Tema: Los operadores advierten de que el cierre de webs les hara perder clientes... :silbar: :silbar: :silbar: :silbar: :silbar: :silbar: :silbar:

Salu2.

Cierto, sino, no estarian en contra de la ley.

¡Saludos!
1010  Programación / Programación C/C++ / Re: Introducir datos de un fichero en una tabla en: 16 Octubre 2010, 15:29 pm
¡Buenas!

Pues si no sabes hacer ninguna de las dos cosas, te recomiendo que empieces por lo mas facil. Estudia el manejo de ficheros y los tipos derivados de datos. Una vez hagas eso, el problema se resulve solo.

¡Saludos!

PD: En la sección de libros y papers encontraras buen material. Te recomiendo el libro "Como programar en C,C++ y Java" de Deitel & Deitel.
Páginas: 1 ... 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 [101] 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 ... 122
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines