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

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  De minúscula a mayúscula a nivel de bits en lenguaje C.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: De minúscula a mayúscula a nivel de bits en lenguaje C.  (Leído 10,715 veces)
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: De minúscula a mayúscula a nivel de bits en lenguaje C.
« Respuesta #10 en: 31 Diciembre 2013, 16:01 pm »

solo me encontré con algo que no puedo resolver (en mayúscula).
El problema se debe a la conversión del espacio en "Roberto Daniel", este se sustituye por el carácter '\0' y es la causa de que solo se imprime la primera palabra.

Para solucionarlo solo debes convertir los caracteres alfabéticos, esa verificación la puedes realizar con la función isalpha (prototipo en <ctype.h>).

Un saludo


En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
DanielPy

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: De minúscula a mayúscula a nivel de bits en lenguaje C.
« Respuesta #11 en: 31 Diciembre 2013, 16:44 pm »

Hola ivancea96.
Ok, funciona a la perfección y complementándolo con lo de xiruko tengo todo resuelto (igual lo de xiruko no se le puede cambiar nada), además me da mucha satisfacción cuando el código es extremadamente conciso, feliz 2014.-
Hola rir3760, muchas gracias por el aporte, feliz 2014.-


feliz 2014 para todos.
Saludos.
Daniel



En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor
y cuando lo abrazas dejan de causar dolor.-
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: De minúscula a mayúscula a nivel de bits en lenguaje C.
« Respuesta #12 en: 31 Diciembre 2013, 22:30 pm »

...................................
Pensándolo un poco mejor también se podría hacer con máscaras y operaciones a nivel de bit.
Felices fiestas.
......................................

Sólo le veo un pero a lo que haces: modificas la cadena. Y si tuviera que usarla a posteriori no le valdría, a no ser que haga una copia previa de la cadena.  Es una chorrada, ¡¡pero!!, podría ser.

Lo que yo propongo es cuasi-igual, sólo que no modifico la cadena original tan solo la imprimo y paso de la variable "len" ya que se puede evitar su uso.

Salida:


Citar
L -> mayuscula
e -> minuscula
o -> minuscula
S -> mayuscula
a -> minuscula
n -> minuscula
S -> mayuscula
a -> minuscula
n -> minuscula
  -> minuscula
L -> mayuscula
e -> minuscula
o -> minuscula
N -> mayuscula

En mayusculas: LEOSANSAN LEON

En minusculas: leosansan leon



Código
  1. #include <stdio.h>
  2.  
  3. int main(){
  4. char  cadena[]="LeoSanSan LeoN";
  5. int i;
  6. for (i=0; cadena[i]; i++)
  7. if( cadena[i] & 0x20 )
  8. printf("%c -> minuscula\n", cadena[i]);
  9. else
  10. printf("%c -> mayuscula\n", cadena[i]);
  11.  
  12. printf("\nEn mayusculas: ");
  13. for (i=0; cadena[i]; i++)
  14. printf("%c", cadena[i]& 0xDF);
  15. putchar ('\n');
  16. printf("\nEn minusculas: ");
  17. for (i=0; cadena[i]; i++)
  18. printf("%c", cadena[i]| 0x20);
  19.    putchar ('\n');
  20. return 0;
  21. }
  22.  

;-)  ;-) Felices Navidades y Próspero Año Nuevo.  ;-)  ;-)

¡¡¡¡ Saluditos! ..... !!!!

P.D: Por ciero, ¿Daniel, Roberto o Pino1952 ?

« Última modificación: 31 Diciembre 2013, 22:34 pm por leosansan » En línea

DanielPy

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: De minúscula a mayúscula a nivel de bits en lenguaje C.
« Respuesta #13 en: 31 Diciembre 2013, 22:55 pm »

Hola leosansan.-
Amigo, muy bien otra muy buena idea, excelente.-

Citar
P.D: Por ciero, ¿Daniel, Roberto o Pino1952 ?
Me llaman Roberto Daniel Virgili(Dani para las chicas menores de 30)y el seudónimo Pino1952 es también mio, la intriga es porque frecuentas ese foro, espero urgente respuesta… :huh: :huh: :huh: :) :) :)
     
Saludos.
Daniel

En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor
y cuando lo abrazas dejan de causar dolor.-
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: De minúscula a mayúscula a nivel de bits en lenguaje C.
« Respuesta #14 en: 31 Diciembre 2013, 23:01 pm »

........................................................
la intriga es porqué frecuentas ese foro, espero urgente respuesta… :huh: :huh: :huh: :) :) :)
    
Saludos.
Daniel


¿Es que crees que este es el único foro con acción?. Pues no, pero sin dudarlo un instante:es el más activo y entretenido. Se aprende un *uevo. ;) ;) ;)

;-)  ;-) Felices Navidades y Próspero Año Nuevo.  ;-)  ;-)

¡¡¡¡ Saluditos! ..... !!!!


« Última modificación: 1 Enero 2014, 06:34 am por leosansan » En línea

DanielPy

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: De minúscula a mayúscula a nivel de bits en lenguaje C.
« Respuesta #15 en: 2 Enero 2014, 18:19 pm »

Hola amigos.
Bueno el caso es que ahora necesito que me digan cómo seguir,  ¿como paso el nuevo binario a la “d”  para que se transforme en “D”?.-
Los código que Uds. expusieron no tienen desperdicio pero después de tanta información suelo hacer mi propia versión para practicar y asimilar lo expuesto.-
ivancea96, ya que no puedo lograrlo espero que hagas un esfuerzo para refinar tú código me da resultados inesperados (ver imagen), lo necesito para hacer mi programa más conciso, no tener que poner el resultado binario en una cadena y luego pasarlo a entero.-



Espero que se entienda lo expuesto en la primer parte, es lo que me falta para pasar de “daniel” a “Daniel”.-     


Código
  1. #include<stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void binarioConvertir(int, char[]);
  5.  
  6. int main(void){
  7.  
  8.    char cadena[6] = "daniel", cad_binaria[8] = "";
  9.    int ascii=0, i=0, binarioMayuscula=0;
  10.  
  11.    while(i<6){
  12.        ascii = cadena[i];
  13.        binarioConvertir(ascii,cad_binaria);      
  14.        printf("\n La letra %c en decimal %3d en binario %s", cadena[i], ascii, cad_binaria);
  15.        cad_binaria[1] = '0';
  16.        printf(" mayuscula --> %s", cad_binaria);
  17.        binarioMayuscula = atoi(cad_binaria);
  18. i++;
  19.    }    
  20.    printf("\n\n");  
  21.  
  22.    return 0;
  23. }
  24.  
  25. void binarioConvertir(int num, char cad[]){
  26.    int i=0, izq=0, der=0, aux=0;
  27.    while(num>0){
  28.        if(num%2 == 0)
  29.            cad[i] = '0';
  30.        else
  31.            cad[i] = '1';
  32.        num = num/2;
  33.        i++;
  34.    }
  35.    der=6;
  36.    while(izq<3){
  37.        aux      = cad[izq];
  38.        cad[izq] = cad[der];;
  39.        cad[der] = aux;
  40.        der--;
  41.        izq++;
  42.    }
  43.    cad[7] = '\0';
  44. }

Saludos.
Daniel   

En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor
y cuando lo abrazas dejan de causar dolor.-
ivancea96


Desconectado Desconectado

Mensajes: 3.410


ASMático


Ver Perfil WWW
Re: De minúscula a mayúscula a nivel de bits en lenguaje C.
« Respuesta #16 en: 2 Enero 2014, 20:56 pm »

Bueno, en priemr lugar, es eno es mi código -.-'
En segundo lugar, a mi me da resultados correctos.
En línea

DanielPy

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: De minúscula a mayúscula a nivel de bits en lenguaje C.
« Respuesta #17 en: 2 Enero 2014, 21:09 pm »

Hola ivancea96.
Ese no es el del error, el que dejo a continuación es el que me da resultados incorrectos, es obvio que es mío el error pero no logro corregirlo.-

Código
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. void binario(int);
  5.  
  6. int main(void){
  7.  
  8. char cadena[6] = "daniel";
  9. int ascii=0, i=0;
  10.  
  11. while(i<6){
  12. ascii = cadena[i];
  13. printf("\n La letra %c en decimal %3d en binario ", cadena[i], ascii);
  14. binario(ascii);
  15. i++;
  16. }
  17.  
  18. printf("\n\n");
  19.  
  20. return 0;
  21. }
  22.  
  23. void binario(int num){
  24. int temp=0, i;
  25. for(i=0; num>0; i++){
  26. temp+=(num%2) * pow(10, i);
  27. num/=2;
  28. }
  29. printf(" %d", temp);
  30. }

Saludos.
Daniel   


En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor
y cuando lo abrazas dejan de causar dolor.-
ivancea96


Desconectado Desconectado

Mensajes: 3.410


ASMático


Ver Perfil WWW
Re: De minúscula a mayúscula a nivel de bits en lenguaje C.
« Respuesta #18 en: 3 Enero 2014, 00:24 am »

A mi me va perfecto.
En línea

DanielPy

Desconectado Desconectado

Mensajes: 145



Ver Perfil
Re: De minúscula a mayúscula a nivel de bits en lenguaje C.
« Respuesta #19 en: 3 Enero 2014, 00:35 am »

Hola.
Una última cosa, ¿copiaste y pegaste el código que yo postee?.-

Saludos.
Daniel
En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor
y cuando lo abrazas dejan de causar dolor.-
Páginas: 1 [2] 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
convertir txt a mayuscula minuscula mayuscuala...
Programación Visual Basic
4D1cTo 4 4,870 Último mensaje 18 Junio 2006, 15:10 pm
por Hadess_inf
Convertir cadena minuscula en mayuscula
Programación C/C++
delirio 3 11,322 Último mensaje 28 Noviembre 2010, 04:36 am
por delirio
[Python] - Ejercicio de Mayúscula y Minúscula
Scripting
ChicoMaravilla 2 10,919 Último mensaje 3 Diciembre 2010, 02:17 am
por ChicoMaravilla
convertir minúscula a mayúscula « 1 2 »
Programación C/C++
m@o_614 10 39,692 Último mensaje 24 Abril 2017, 12:31 pm
por NikNitro!
De minúscula a mayúscula a nivel de bits (lenguaje C.)
Programación C/C++
NOB2014 4 2,463 Último mensaje 21 Marzo 2014, 02:44 am
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines