Foros del Web » Programación para mayores de 30 ;) » C/C++ »

copiar carcater por caracter

Estas en el tema de copiar carcater por caracter en el foro de C/C++ en Foros del Web. Hola necesito su ayuda, intento copiar caracter por caracter a un arreglo bidimensional para poder separar palabra por palabra, pero no se como plantearlo, lo ...
  #1 (permalink)  
Antiguo 03/09/2015, 14:03
 
Fecha de Ingreso: septiembre-2015
Mensajes: 5
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta copiar carcater por caracter

Hola necesito su ayuda, intento copiar caracter por caracter a un arreglo bidimensional para poder separar palabra por palabra, pero no se como plantearlo, lo plantea de esta forma pero se me queda pasmado... AYUDA!

for(i=0; i=strlen(lectura)!='\0'; i++)
{
for(j=0; i=strlen(lectura)!='\0'; j++)
{
if(lectura[i] != ' ' && lectura[i] != '.')
{
lectura2[i][j]=lectura[i];
}
}
}


printf("%s", lectura2);
  #2 (permalink)  
Antiguo 04/09/2015, 01:15
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 1 mes
Puntos: 38
Respuesta: copiar carcater por caracter

para separar una frase por palabras puedes usar tokens. http://www.cplusplus.com/reference/cstring/strtok/
  #3 (permalink)  
Antiguo 04/09/2015, 01:20
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: copiar carcater por caracter

for(i=0; i=strlen(lectura)!='\0'; i++)

un for tiene la siguiente estructura:

for( inicializaciones ; condicion para continuar la ejecucion del bucle ; actualizacion variables )

En tu caso estás modificando el valor de 'i' en la parte de "condiciones" y, bueno, el problema no es únicamente ese, es que estás asignando siempre el mismo valor y, como además, ese valor es distinto de 0, el bucle se repetira hasta el fin de los tiempos.

Te recomiendo encarecidamente que mires un buen manual de C. No creo que sea la única práctica a hacer en C así que tendrás menos dolores de cabeza si empiezas a entender al menos lo básico.

Y, lo dicho, a tu bucle le sobra la asignación. ¿Cómo debería quedar? pues con lo que tienes se me ocurren dos opciones:

Código C:
Ver original
  1. for(i=0;i<strlen(lectura); i++)
  2. for(i=0; lectura[i] != '\0'; i++)

  • El primero se ejecutará hasta que 'i' alcance un valor equivalente al número de caracteres de la cadena 'lectura'
  • El segundo se ejecutará hasta que la posición 'i' de la cadena 'lectura' contenga el carácter nulo.
Un saludo

Etiquetas: arreglo, cadena, caracteres, char
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:02.