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 - Akai

#861
Cita de: rockernault en  6 Mayo 2010, 13:01 PM
Otro defensor del soft libre....
+1 al facepalm sobre "extremistas" del software libre
#862
Programación C/C++ / Re: busqueda binaria
6 Mayo 2010, 07:42 AM
Veamos... en ese caso, lo que tienes que comparar es el resultado de la llamada a strcmp, una vez ya devuelto el valor, no dentro de su propia llamada.

por ponerte un ejemplo, luego tu ya pones acorde a tus necesidades

if (strcmp(cadena1, cadena2) >0)
este if se cumplira siempre y cuando la cadena 2 sea alfabéticamente posterior a la primera.

por otro lado, cuando quieres comprobar si ambas cadenas son iguales la comprobación es strcmp(cadena1, cadena2)==0 . Puesto que cuando son iguales, retorna un 0. si cadena 1 es mayor, un numero negativo, y si cadena 2 es mayor, uno positivo.
#863
Ejercicios / Re: Sistemas de numeracion
6 Mayo 2010, 00:47 AM
A primera vista sabes que una base menor de 8 no puede ser (tienes un 7, mayor dígito en octal) en ese ejemplo que tu has puesto. Por otra parte, hasta donde yo tengo conocimiento, cuando hay duda sobre la base del número, viene indicado. 1012 indica que esa cadena de dígitos es binario. Números expresados como 0xABCD indica un hexadecimal (no tanto por las letras sino por el 0x)
#864
Programación C/C++ / Re: busqueda binaria
6 Mayo 2010, 00:42 AM
Podrías valerte de la búsqueda binaria numérica, pero en comparaciones de mayor o menor, puedes usar strcmp, de la biblioteca string.h

info de strcmp

int strcmp (const char * s1, const char * s2);

Valor de retorno:
La función retorna un número entero mayor, igual, o menor que cero, apropiadamente según la cadena apuntada por str1 es mayor, igual, o menor que la cadena apuntada por str2. La comparación es según el orden lexicográfico de las cadenas str1 y str2.

como en la tabla ASCII las letras están ordenadas de la misma forma que en el abecedario (misma secuencia de orden) básate en el valor de retorno de strcmp para saber si tienes que buscar en la mitad inferior o superior del vector de palabras, o bien, si la has encontrado.
#865
Ceerlo, Si, existimos nosotros, ¿por qué no puede haberse dado unas ocndiciones similares para la vida basada en carbono, o para vidas no-basadas en carbono. Poder afirmar científicamente que existen: NO
#866
Creo que como posible leyenda urbana, esto se extiende más rápido que el tiempo que tarda la gente en hacer la prueba.
#867
El problema, que no lo había pensado antes, es la "basura" que se queda por usar scanf, en concreto un \n de cuando pulsas la tecla enter para introducir el tamaño de la cadena. Y es lo que se come gets(cadena). Lo raro, es que te funcione si quitas un \n de un printf que nada tiene que ver con la entrada de datos. 

Lo que se me ocurre, es hacer un gets justo después del scanf, para limpiar el n residual, que luego es machacado por el siguiente gets(cadena). Aun así es una forma un tanto.. sucia de hacerlo, existiendo otras funciones que permiten una entrada mas "limpia" de datos, pero no las conozco.

el apaño temporal para el programa es:

scanf("%d",&l);
char *cad=(char *)(malloc(sizeof(char)*l));
gets(cad);
#868
Programación C/C++ / Re: Malloc ...
5 Mayo 2010, 21:15 PM
http://biplab.in/2009/04/creating-portable-codeblocks-part-2/

en los comentarios comentan una solución para el link faltante:

CitarUnfortunately the file has been deleted from FileFront due to some unknown reason.

But you can actually use any latest nightly version as a portable version. To do that-
1) Download cblauncher_v_0_1_1.7z file from the above post.
2) Download any newer nightly build of Code::Blocks and extract to any folder.
3) Extract cblauncher.exe from cblauncher_v_0_1_1.7z to the folder where codeblocks.exe file is present.
4) Double-click on cblauncher.exe file and it will run the nightly build as a portable version.

PERO: parece que alguien se tomó la molestia de preparar un instalador para portable

http://codecutter.net/tools/codeblocks.edu/
#869
Programación C/C++ / Re: duda2
5 Mayo 2010, 21:05 PM
grosso modo, si, son las "equivalencias". tienen diferente sintaxis pero el uso viene a ser el mismo.

printf --> cout
scanf --> cin

Que alguien que lo sepa a ciencia cierta me corrija si no es así, pero creo que cin es más "limpia" que scanf.
#870
el problema está aqui:

void f_visu(char *cadena,int size){
int i=0;
for(i=0;*(cadena+i)!='\0'&&i<size;i++){
printf("%s",*(cadena+i));
}
}


Para imprimir una cadena con printf y %s no necesitas ir realizando printfs como si imprimiras carácter a carácter, %s indica que le pasas una cadena, y la imprimirá entera. Por tanto tienes dos opciones:

void f_visu(char *cadena){
printf("%s",cadena);/* imprimimos toda la cadena de una sola vez*/
}

Notese que no necesitamos el tamaño ni un contador en esta función.

o bien, una solución mas similar a la función que daba problemas:

void f_visu(char *cadena,int size){
int i=0;
for(i=0;*(cadena+i)!='\0'&&i<size;i++){
printf("%c",*(cadena+i)); /*imprimimos caracter a carácter*/
}
}