Autor
|
Tema: De minúscula a mayúscula a nivel de bits en lenguaje C. (Leído 17,355 veces)
|
rir3760
Desconectado
Mensajes: 1.639
|
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
Mensajes: 145
|
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
Mensajes: 1.314
|
................................... 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: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
#include <stdio.h> int main(){ char cadena[]="LeoSanSan LeoN"; int i; for (i=0; cadena[i]; i++) if( cadena[i] & 0x20 ) printf("%c -> minuscula\n", cadena[i]); else printf("%c -> mayuscula\n", cadena[i]); printf("\nEn mayusculas: "); for (i=0; cadena[i]; i++) printf("%c", cadena[i]& 0xDF); putchar ('\n'); printf("\nEn minusculas: "); for (i=0; cadena[i]; i++) printf("%c", cadena[i]| 0x20); putchar ('\n'); return 0; }
¡¡¡¡ 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
Mensajes: 145
|
Hola leosansan.- Amigo, muy bien otra muy buena idea, excelente.- 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… 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
Mensajes: 1.314
|
|
|
« Última modificación: 1 Enero 2014, 06:34 am por leosansan »
|
En línea
|
|
|
|
DanielPy
Desconectado
Mensajes: 145
|
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”.- #include<stdio.h> #include <stdlib.h> void binarioConvertir(int, char[]); int main(void){ char cadena[6] = "daniel", cad_binaria[8] = ""; int ascii=0, i=0, binarioMayuscula=0; while(i<6){ ascii = cadena[i]; binarioConvertir(ascii,cad_binaria); printf("\n La letra %c en decimal %3d en binario %s", cadena [i ], ascii , cad_binaria ); cad_binaria[1] = '0'; printf(" mayuscula --> %s", cad_binaria ); binarioMayuscula = atoi(cad_binaria ); i++; } return 0; } void binarioConvertir(int num, char cad[]){ int i=0, izq=0, der=0, aux=0; while(num>0){ if(num%2 == 0) cad[i] = '0'; else cad[i] = '1'; num = num/2; i++; } der=6; while(izq<3){ aux = cad[izq]; cad[izq] = cad[der];; cad[der] = aux; der--; izq++; } cad[7] = '\0'; }
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
Mensajes: 3.412
ASMático
|
Bueno, en priemr lugar, es eno es mi código -.-' En segundo lugar, a mi me da resultados correctos.
|
|
|
En línea
|
|
|
|
DanielPy
Desconectado
Mensajes: 145
|
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.- #include <stdio.h> #include <math.h> void binario(int); int main(void){ char cadena[6] = "daniel"; int ascii=0, i=0; while(i<6){ ascii = cadena[i]; printf("\n La letra %c en decimal %3d en binario ", cadena [i ], ascii ); binario(ascii); i++; } return 0; } void binario(int num){ int temp=0, i; for(i=0; num>0; i++){ temp +=(num %2) * pow(10, i ); num/=2; } }
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
Mensajes: 3.412
ASMático
|
A mi me va perfecto.
|
|
|
En línea
|
|
|
|
DanielPy
Desconectado
Mensajes: 145
|
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.-
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
convertir txt a mayuscula minuscula mayuscuala...
Programación Visual Basic
|
4D1cTo
|
4
|
6,041
|
18 Junio 2006, 15:10 pm
por Hadess_inf
|
|
|
Convertir cadena minuscula en mayuscula
Programación C/C++
|
delirio
|
3
|
13,842
|
28 Noviembre 2010, 04:36 am
por delirio
|
|
|
[Python] - Ejercicio de Mayúscula y Minúscula
Python
|
ChicoMaravilla
|
2
|
12,891
|
3 Diciembre 2010, 02:17 am
por ChicoMaravilla
|
|
|
convertir minúscula a mayúscula
« 1 2 »
Programación C/C++
|
m@o_614
|
10
|
48,413
|
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
|
3,959
|
21 Marzo 2014, 02:44 am
por rir3760
|
|