Cambiar vocales a 2 cadenas

Iniciado por dark_link00, 7 Junio 2014, 19:43 PM

0 Miembros y 1 Visitante están viendo este tema.

dark_link00

Mi programa tiene que leer 2 cadenas  , sacar la primera y la ultima vocal de cada cadena y despues cambiarlas
osea vocales de la cadena 1 a la cadena 2 y viceversa , alguien que me pueda orientar un poco?
solo consigo que copee la primera pero no la ultima , gracias!

rir3760

Cuando tengas una duda con uno de tus programas por favor publica el código fuente de este, la idea es demostrar un esfuerzo significativo. De no hacerlo el tema puede ser cerrado si se considera que es una petición de código fuente "en bandeja".

También debes indicar el lenguaje de programación ya que la aproximación a tomar depende de este.

En el caso de C ...

----

El programa que comentas es relativamente fácil, la parte mas complicada es buscar el primer y ultimo carácter que cumplan con el criterio indicado, para ello hay varias aproximaciones (por ejemplo una sentencia de selección switch, funciones parte de la biblioteca estándar de C como strcspn o sscanf, etc.).

Una forma sencilla consiste en utilizar la función strchr en la forma strchr("set", caracter) para conocer si el carácter en cuestión forma parte del set (conjunto) indicado.

Un ejemplo del uso de esa función para encontrar la primera y ultima vocal de una cadena es:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
   char *linea = "sta es solo una cadena de pruebA";
   int i;
   int j;
   int k;
   
   j = -1; /* centinela */
   for (i = 0; linea[i] != '\0'; i++)
      if (strchr("aeiouAEIOU", linea[i]) != NULL){
         if (j == -1)
            j = i;
         k = i;
      }
   
   if (j != -1)
      printf("Primera y ultima vocal: %c, %c\n", linea[j], linea[k]);
   
   return EXIT_SUCCESS;
}


Con el resto (analizar las dos cadenas y realizar el intercambio si aplica) no debes tener problemas.

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