Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Código de C/Visual C - Invertir una cadena de carácteres en C.

Invertir una cadena de carácteres en C.gráfica de visualizaciones


C/Visual C

estrellaestrellaestrellaestrellaestrella(10)
Publicado el 04 de Marzo del 2002 por Raul Marmolejo
27.626 visualizaciones desde el 04 de Marzo del 2002. Una media de 42 por semana
Código que agregando una cadena de caracteres, te la devuelve invertida. Utilización de punteros para su implementación.

Versión 1
estrellaestrellaestrellaestrellaestrella(10)

Publicado el 04 de Marzo del 2002gráfica de visualizaciones de la versión: Versión 1
27.627 visualizaciones desde el 04 de Marzo del 2002. Una media de 42 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella
/******** Programa hecho por Raul Marmolejo ********/ /******** rm3 kReAtIoNz ********/ /******** raulgerardo@marmolejo.net ********/ /******** para: www.lawebdelprogramador.com ********/ /* Programa creado por Ra£l Marmolejo Invierte una cadena,...*/ #include <stdio.h> int main() { char i,j; char longitud; char cadena[50]; char temporal; clrscr (); printf("Introduce un texto (menos de 50 caracteres): "); gets(cadena); longitud=strlen(cadena); for (i=0,j=longitud-1; i<longitud/2; i++,j--) { temporal=cadena[i]; cadena[i]=cadena[j]; cadena[j]=temporal; } printf("Resultado: %s\n", cadena); getch (); } /* Prueba el programa pero cambiando la l¡nea del for por: for (i=0,j=longitud; i<longitud/2; i++,j--) es decir, quitando el -1 de la j. Ahora el programa no mostrar nada a la salida. Esto pasa porque ponemos el carácter '\0' del final de la cadena al principio y por tanto aunque haya más caracteres después la cadena queda vacía. Recuerda que el símbolo '\0' indica el final de la cadena. Todo lo que haya después no se muesta. */

Comentarios sobre la versión: Versión 1 (10)

05/03/2002Sto ta tirao
estrellaestrellaestrellaestrellaestrella
por que no haces un for que comienze por el final de la cadena y vas mostrando cada elemento de la cadena? para mi mejor
06/03/2002Abel Zevallos Montes
estrellaestrellaestrellaestrellaestrella
Me parece muy bueno. Otra manera de hacerlo sería listar los elementos de la cadena desde el punto final de la misma, y ponerlo ello en una cadena auxiliar final, aunque eso, claro implica más uso de memoria.
12/04/2002Javi
estrellaestrellaestrellaestrellaestrella
/* Para empezar con C es un intento... pero con el timepo tenderás a hacerlo todo en una función con la memoria ya reservada: */
void invierte (char *dest, const char *orig)
{
int i=0, j;
j = strlen(orig) - 1;
while (j) dest[i++] = orig[j--];
}
12/04/2002Javi
estrellaestrellaestrellaestrellaestrella
/* Un lapsus.... :-P, este es el correcto */
void invierte (char *dest, const char *orig)
{
int i=0, j;
j = strlen(orig);
while (j--) dest[i++] = orig[j];
}
12/04/2002hay que ver
estrellaestrellaestrellaestrellaestrella
Me resulta un poco "sospechoso" que las "librerias" como tú las llamas no estén absolutamente comentadas y casi sin sangrar y este de la pelota sí lo esté : /............. comentario global sobre tus "librerías": aprende metodología de la programación y POO, usa funciones más estándar y no compliques tanto el código, que casi no se entiende... soy yo, el de antes
20/04/2002Javi
estrellaestrellaestrellaestrellaestrella
Tengo una duda, cómo es que haces esta chapuza con las cadenas y luego te pones a hacer "librerías gráficas"? no será que copias todo y dices que es tuyo?

Aprende Metodología de la Programación (y vete a un psicólogo)
21/04/2002fernando
estrellaestrellaestrellaestrellaestrella
Disculpame no soy nadie para opinar sobre el tipo de programación de otra persona, pero creo que las críticas son constructivas.

En el programa que has hecho no hay punteros y realmente no es bueno.
12/05/2002torrente
estrellaestrellaestrellaestrellaestrella
Muy bueno lo del clrscr(), sobretodo sin meter la conio.h, eso si que es programar y lo demás son tonterias.
24/05/2010Esther Mendoza
estrellaestrellaestrellaestrellaestrella
Esta muy bien tu programa, esta buscando este código por que tenia líos al imprimir, y veo que usaste dos for, lo cual me pareció muy acertado, ademas de que hay varios que lo hacen con apuntadores, lo cual aun no conozco. Gracias.
08/10/2014alberto
estrellaestrellaestrellaestrellaestrella
y si yo quiero que el programa se mueva horizontalmente caracter por caracter como me ago>??

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración del curso
Comentarios