Ejemplo de inversion de cadenas en c
2 participantes
Página 1 de 1.
Ejemplo de inversion de cadenas en c
- Código:
#include <stdio.h>
#define TAMANO_MAXIMO 300
main(){
int i,ultimo_caracter;
char cadena [TAMANO_MAXIMO],aux;
printf("Introduce la cadena leer (intro la acaba): ");
for (i=0;((cadena[i]=getchar())!='\n') && (i<TAMANO_MAXIMO -1);i++)
;
cadena[i]='\0';
ultimo_caracter=i-1; //porque sino me pone el \0 de primer caracter y se jodio la cosa
for (i=0;i<(ultimo_caracter / 2)+1;i++){ //El +1 si es por que
sino las dos del medio no las intercambia (si es impar intercambia la
del medio por si misma)
aux=cadena[i];
cadena[i]=cadena[ultimo_caracter-i];
cadena[ultimo_caracter-i]=aux;
}
printf("La cadena invertida es: %s\n",cadena);
}
Es el codigo que deje en el otro foro, para estrenar este.
Esta compilado con gcc en linux (es importante que pongais esto, porque sobre todo con hilos no funciona el mismo codigo en todos los compiladores)
djcloud- Amo del foro
- Cantidad de envíos : 389
Edad : 39
Fecha de inscripción : 11/10/2007
Re: Ejemplo de inversion de cadenas en c
Mi código queda:
#include <stdio.h>
#define MAXLINEA 1000
main() //Programa para invertir una cadena de longuitud MAX=1000
{
char s[MAXLINEA];
char c;
int i,j;
printf("Introduzca una cadena de caracteres \n");
for (i=0; i<MAXLINEA && (c=getchar())!='\n';i++) //Metemos cadena de caracteres en array
s[i]=c;
s[++i]='\0';
i--;
for (j=0; i==j; i--,j++); //Invertimos la cadena
s[i]=s[j];
printf("La cadena invertida seria: %s \n",s);
}
#include <stdio.h>
#define MAXLINEA 1000
main() //Programa para invertir una cadena de longuitud MAX=1000
{
char s[MAXLINEA];
char c;
int i,j;
printf("Introduzca una cadena de caracteres \n");
for (i=0; i<MAXLINEA && (c=getchar())!='\n';i++) //Metemos cadena de caracteres en array
s[i]=c;
s[++i]='\0';
i--;
for (j=0; i==j; i--,j++); //Invertimos la cadena
s[i]=s[j];
printf("La cadena invertida seria: %s \n",s);
}
DarK_NeKrO- Cantidad de envíos : 131
Edad : 36
Fecha de inscripción : 13/10/2007
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.