ingresar frase y devolver al reves

Iniciado por entreversos, 14 Octubre 2014, 17:46 PM

0 Miembros y 2 Visitantes están viendo este tema.

entreversos

necesito ingresar una frase (hola gente lenguaje c) y devuelva ( c lenguaje gente hola), gracias.

Bob1098

A ver, en primer lugar tendrías que separar cada una d elas palabras y guardarlas en un array de strings o bien un doble array de char, depende de lo que uses. Luego es simplemente intercambiar el orden de los elementos.

Utiliza un bucle for o while.

BlackM4ster

No se hacen tareas

Si quieres, podemos orientarte:

1 - Split: Tienes que hacer una función que retorne un char** con las palabras separadas por ' '
2 - Darles la vuelta. Si has sabido hacer el Split en C, no tendrás problemas para ésto :xD :rolleyes: :laugh: :laugh:
- Pásate por mi web -
https://codeisc.com

Bachanilorac

Hola tengo una duda
.. Trabajo en este programa c++

#include<iostream>
#include<cstring>

using namespace std;

int main()
{
char nombre [18];
cout<<"Ingrese el Nombre Completo:  ";
cin>> nombre;i
for(int i=strlen(nombre)-1;i>=0;i--)
cout<<nombre;

return 0;

pero no sé cómo solucionar el tema del espacio, es decir si escribo un nombre compuesto sólo me imprime al revés el primer nombre..
Tienes alguna idea que me pueda orientar para solucionarlo?
Te lo agradecería.

leosansan

Cita de: Bachanilorac en 17 Noviembre 2014, 06:08 AM
Hola tengo una duda
.. Trabajo en este programa c++

pero no sé cómo solucionar el tema del espacio, es decir si escribo un nombre compuesto sólo me imprime al revés el primer nombre..
Tienes alguna idea que me pueda orientar para solucionarlo?
Te lo agradecería.


Prueba con:

Código (cpp) [Seleccionar]
fgets(nombre, 18, stdin);

en lugar del cin.

¡¡¡¡ Saluditos! ..... !!!!



rir3760

Cita de: Bachanilorac en 17 Noviembre 2014, 06:08 AMno sé cómo solucionar el tema del espacio, es decir si escribo un nombre compuesto sólo me imprime al revés el primer nombre.
Eso sucede porque el operador ">>" solo lee una palabra, para leer una linea de texto debes utilizar la funcion getline.

Y por favor cuando publiques código fuente utiliza las etiquetas de código. Estas se agregan mediante el cuadro desplegable con el texto "GeSHi" en la pagina de composición de mensajes, solo tienes que seleccionar ahí el lenguaje (C, C++, etc.).

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

Bachanilorac

#6
Muchas gracias a ambos por sus respuestas.

Finalmente utilicé getline:



cin.getline(nombre, 18);


Eso lo resolvió todo :)

Gracias de nuevo.