Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda urgente con funcion en c

Estas en el tema de Ayuda urgente con funcion en c en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 10/04/2008, 22:36
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
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
  #2 (permalink)  
Antiguo 11/04/2008, 07:25
Avatar de 00TUX  
Fecha de Ingreso: abril-2008
Ubicación: Tijuana
Mensajes: 57
Antigüedad: 16 años, 1 mes
Puntos: 1
Re: Ayuda urgente con funcion en c

Podrias hacer algo parecido en C++

Código:
#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;
}
Solo cambia iostream por stdio cout por printf y cin gets
  #3 (permalink)  
Antiguo 11/04/2008, 09:43
 
Fecha de Ingreso: marzo-2008
Mensajes: 37
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Ayuda urgente con funcion en c

Código:
#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;

}
//Quiza hay algo mal, no lo he podido probar, pero es para que te hagas una idea.
  #4 (permalink)  
Antiguo 13/04/2008, 18:43
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Ayuda urgente con funcion en c

Cita:
Iniciado por 00TUX Ver Mensaje
Podrias hacer algo parecido en C++

Código:
#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;
}
Solo cambia iostream por stdio cout por printf y cin gets

no pude hacerlo correr..lo pasé a C como me dijiste pero no me corrio. igual Muchas GRacias por tu tiempo
  #5 (permalink)  
Antiguo 13/04/2008, 18:46
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Ayuda urgente con funcion en c

Cita:
Iniciado por Leber Ver Mensaje
Código:
#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;

}
//Quiza hay algo mal, no lo he podido probar, pero es para que te hagas una idea.
ESTA SOLUCIÓN SI Q ANDA DE MARAVILLA!
SOLO FALTABA INICIALIZAR INT O= 0;
MUCHISIMAS GRACIAS.-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:21.