Tengo de tarea hacer una funcion que invierta la cadena q introduzco por teclado...
como seria? alguien puede ayudarme.
la consigna dice evitar usar variables aux
| |||
| Ayuda urgente con funcion en c Tengo de tarea hacer una funcion que invierta la cadena q introduzco por teclado... como seria? alguien puede ayudarme. la consigna dice evitar usar variables aux |
| |||
| Re: Ayuda urgente con funcion en c
Código:
//Quiza hay algo mal, no lo he podido probar, pero es para que te hagas una idea. #include <stdio.h>
#include <string.h>
#define FF(str) str[strlen(str)-1]=0
int
main()
{
char recibir[27];
char reversa[27];
int i;
int o;
printf("Introduzca cadena a revertir: ");
fgets(recibir,25,stdin);
FF(recibir); //fgets no filtra el salto de linea, entonces en esta macro se lo quitamos
for(i=strlen(recibir)-1; i >= 0 ; i--)
reversa[o++]=recibir[i];
reversa[o]='\0'; //le añadimos caracter fin de adena
printf("La cadena al reves es %s\n",reversa);
return 0;
}
|
| |||
| Re: Ayuda urgente con funcion en c Cita:
Iniciado por 00TUX Podrias hacer algo parecido en C++
Código:
Solo cambia iostream por stdio cout por printf y cin gets
#include <iostream.h>
int main ()
{
#esto es para una cadena de 20 caracteres si quieres que sea variable usa punteros
char cadena[21];
char reversa[21];
int i = 0;
for ( i =0 ; i < 21; i++)
cadena[i] = null
cout << " Introduce cadena :"; cin >> cadena;
i=0
for (i =21; i< 1; i++)
{
reversa[ i - 21 ] = cadena[i];
}
return 0;
}
no pude hacerlo correr..lo pasé a C como me dijiste pero no me corrio. igual Muchas GRacias por tu tiempo |
| |||
| Re: Ayuda urgente con funcion en c Cita: ESTA SOLUCIÓN SI Q ANDA DE MARAVILLA!
Iniciado por Leber
Código:
//Quiza hay algo mal, no lo he podido probar, pero es para que te hagas una idea.#include <stdio.h>
#include <string.h>
#define FF(str) str[strlen(str)-1]=0
int
main()
{
char recibir[27];
char reversa[27];
int i;
int o;
printf("Introduzca cadena a revertir: ");
fgets(recibir,25,stdin);
FF(recibir); //fgets no filtra el salto de linea, entonces en esta macro se lo quitamos
for(i=strlen(recibir)-1; i >= 0 ; i--)
reversa[o++]=recibir[i];
reversa[o]='\0'; //le añadimos caracter fin de adena
printf("La cadena al reves es %s\n",reversa);
return 0;
}
SOLO FALTABA INICIALIZAR INT O= 0; MUCHISIMAS GRACIAS.- |