![]() |
Borrar espacios sobrantes Buenos dias muchachos... Estuve navegando el subforo de programacion y realmente me parece muy buena la ayuda que dan Estoy aprendiendo C desde hace poco y estuve haciendo un programita que borra los espacios de mas en las lineas ingresadas por el usuario. El código es el siguiente Código: #include <stdio.h>Código: void blanks(char s[])Estoy abierto a cualquier crítica o sugerencia sobre el estilo de programacion y la calidad del algoritmo Un saludo y gracias por adelantado :adios: |
Re: Borrar espacios sobrantes Cita:
Cita:
Sobre el código, el estilo es bueno y se lee claro. Lo único, que pases punteros junto con un tamaño, en vez de arrays; porque sino podrás usar memoria dinámica con esas funciones. |
Re: Borrar espacios sobrantes Hola PcKing. Mira, para este caso basta con un solo while y los dos índices por ejemplo i,j. La idea principal es copiar en cada iteración el caracter de la posición j a la posición i e incrementar el índice j de tal forma que cuando el caracter copiado es '\0' salimos del bucle. A su vez en cada iteración si el caracter copiado no es un espacio en blanco entonces incrementamos i para copiar el siguiente caracter, pero si fuera un espacio en blanco entonces se sobreescribe por el caracter copiado en la siguiente iteración. Ejemplo: Código: void blanks(char* str)Saludos. |
Re: Borrar espacios sobrantes Buenas Les agradezco a ambos los consejos. Voy a tratar de mejorar el código siguiendo sus recomendaciones, aunque como hace poco comencé a programar en C todavía no domino bien los punteros; pero me voy a poner a estudiarlos en estos dias Saludos y gracias nuevamente :-) |
Re: Borrar espacios sobrantes Hola fightmx el codigo esta bastante bueno pero no cumple con las especificaciones del problema planteado por PCKing, si te das cuenta en el ejemplo que tiene en su codigo dice: Cita:
' Hola que tal' la salida de tu codigo es: 'Holaquetal' y no: ' Hola que tal' Saludos |
Re: Borrar espacios sobrantes Es verdad _Lucifer_ pequeño detalle...jeje variante: Código: void blanks(char* str) |
Re: Borrar espacios sobrantes Buenos dias, Cita:
Si queres te pego una captura de pantalla durante la ejecución... Ademas el while de la funcion pregunta si hay dos espacios seguidos, para correr el vector un solo lugar a la izquierda, asi que un espacio va a quedar seguro :adios: |
Re: Borrar espacios sobrantes Cita:
El comentario que hice era con respecto a primer prigrama posteado por fightmx, pero imagino que con la correccion que le hizo debe ser suficiente... Si hablas del que posteaste tu entonces hay una confusion, porque ese esta bueno. Cita:
Saludos |
Re: Borrar espacios sobrantes Cita:
|
Re: Borrar espacios sobrantes Buenas Cita:
Saludos :adios: |
Re: Borrar espacios sobrantes Todos estamos para aprender, si le le pasa un detalle a alguien siempre habra otro forista que lo pilla (me ha pasado varias veces)... De eso se tratan los foros, ¿no? Como me dijo un prof hace años "El conocimiento es universal, es como la energia, hay que dejarlo fluir para que regrese a ti con mayor intensidad" Saludos |
| La zona horaria es GMT -6. Ahora son las 06:25. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.