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.- |