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 - cesarjgrd.18

#1
Cita de: Isótopo en 11 Diciembre 2011, 16:45 PM
Haz debug y fíjate en el tamaño de la variable x, porque yo diría que formas un bucle infinito y nunca retornas el parrafo.


Buenas amigo! Gracias por la ayuda! Pero me podrias decir como hacer eso?
#2
Buenas! Tengo que hacer un proyecto del cole! Apenas lo estoy empezando! Voy bien! Solo que necesito anidar un for con un while! al hacerlo y ejecutarlo se queda pidiendo datos de entrada y no hace mas nada! Si dejo el while solo si corre perfecto pero necesito que el while se repita! Aqui les dejo el code a ver si me pueden ayudar! Gracias

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

string punto(string parrafo){
int tamano, x=0, x1, x2, x3, x4;
string str, inicial, b1, b2, b3;
tamano=parrafo.size();
do {
while (x<=tamano && str!="."){
str=parrafo.substr(x, 1);
x=x+1;}
x1=x-2;
b1=parrafo.substr(x1, 1);
if (b1==" "){
parrafo=parrafo.erase(x1, 1);
x=x-1;}
x3=x-2;
b2=parrafo.substr(x3, 1);
if (b2== "," || b2==";"){
parrafo=parrafo.insert(x3," <<");
x4=x1+4;
parrafo=parrafo.insert(x4,">>");
x=x+5;}
b3=parrafo.substr(x, 1);
if (b3!=" "){
parrafo=parrafo.insert(x, " ");}
x2=x+1;
inicial=parrafo.substr(x2, 1);
transform(inicial.begin(),inicial.end(), inicial.begin(), ::toupper);
parrafo=parrafo.replace(x2, 1, inicial);
tamano=parrafo.size();
}
while (!(x==tamano));
return parrafo;
}

int main(){
string parrafo, parrafo1;
cout<<"Introduzca un texto"<<endl;
getline(cin, parrafo);
parrafo1=punto(parrafo);
cout<<parrafo1<<endl;
return 0;
}
#3
Cita de: BlackZeroX (Astaroth) en  7 Noviembre 2011, 00:40 AM
cuanta los numeros y has una diferenciacion de longitudes asi determinas enq ue posicion esta ese 1

tambien puedes ir almacenando cada numero de esta manera.

Supongamos que tu etiqueta sond e 32 numeros (0 y 1)

entonces:

supongamos este numero.

100010000100001001010110101100

como ves no son 32 numeros los 0 mas significativos no se escriben pero como empiesas tu de la izquierda  a la derecha harias algo asi:

Código (cpp) [Seleccionar]


entero iCode = 0
mientras no lleguemos al final
    iCode <<= iCode | getBit(); // Dezplazmos los bits de iCode a la izquierda y hacemos una operacion OR  es decir:



es decir obtienes

100010000100001001010110101100

y lo agregas desplazando los anteriores bits a la izquierda. (<<=)

es decir:
leyendo: 100010000100001001010110101100

INT    |   en Bits
iCode = 0000000000000000000000000000000
iCode <<= iCode | getBit();
iCode = 0000000000000000000000000000001
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000000010
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000000100
iCode <<= iCode | getBit();
iCode = 00000000000000000000000000001000
...
iCode <<= iCode | getBit();
iCode = 00100010000100001001010110101100
Termino...

como ves se hace un while()...

Código (cpp) [Seleccionar]


int iCode = 0;
while(!getEndBit()) {
    iCode <<= iCode | getBit();
}



Dulces Lunas!¡.

Hola BlackZeroX.. Gracias por esa! Pero debo admitir que no entendí nada! Se que lo explicaste como para tontos pero aun asi no lo entendi! Si puedes echarme una mano gracias!
#4
Me explicare mejor a ver! imagina que tengo un código de 6 números binarios donde los primeros 3 son para identificar a la persona y los últimos 3 para identificar el lugar... 000 es Juan y 001 es Pedro... 000 es casa y 001 es colegio... previamente generado el código lo tengo que decodificar! entonces al pedir el código generado ej. 000001 el programa me tiene que decir Persona Juan Lugar Colegio!

Entonces al declararlo como string podre separar los números? de forma tal que los pueda comparar con los lugares y las personas?
#5
Buenas! En esta oportunidad tengo una duda sobre los enteros con ceros al inicio

El caso es que tengo que decodificar una etiqueta compuesta con numero binarios, pero cuando el código empieza por cero no me los toma en cuenta sino hasta el primer 1... como hago para que tome en cuenta los ceros iniciales?

Gracias!
#6
Gracias a todos!

También encontré esta otra manera! usando algorithm...


#include <iostream>
#include <algorithm>

using namespace std;

int main() {
string s;
cout<<"Introduzca una palabra"<<endl;
cin>>s;
transform(s.begin(), s.end(),s.begin(), ::toupper);

cout<<"La palabra introducida es: "<<s<<endl;
}
#7
Si leí eso antes de escribir este post! Pero ahí no dicen como hacerlo a un carácter y no a una cadena! Gracias
#8
Buenas! Soy nuevo en el foro y en esto de C++

La cosa es que tengo una asignación el programita debe reconocer la cadena sin importar como este escrito, osea si es LuiS o luis o lUiS o como sea debe de reconocer que es luis! Estuve investigando y encontré la función toupper asi no importa como se escriba siempre lo comvertira a LUIS y lo reconocerá!

El problema es que no se como se aplica esta herramienta en c++

Quisiera que me ayudaran en eso! gracias!