elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Cambiar vocales a 2 cadenas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cambiar vocales a 2 cadenas  (Leído 2,060 veces)
dark_link00

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Cambiar vocales a 2 cadenas
« en: 7 Junio 2014, 19:43 pm »

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!


En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Cambiar vocales a 2 cadenas
« Respuesta #1 en: 8 Junio 2014, 16:40 pm »

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:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main(void)
  6. {
  7.   char *linea = "sta es solo una cadena de pruebA";
  8.   int i;
  9.   int j;
  10.   int k;
  11.  
  12.   j = -1; /* centinela */
  13.   for (i = 0; linea[i] != '\0'; i++)
  14.      if (strchr("aeiouAEIOU", linea[i]) != NULL){
  15.         if (j == -1)
  16.            j = i;
  17.         k = i;
  18.      }
  19.  
  20.   if (j != -1)
  21.      printf("Primera y ultima vocal: %c, %c\n", linea[j], linea[k]);
  22.  
  23.   return EXIT_SUCCESS;
  24. }

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

Un saludo


En línea

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
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] Vocales y carácteres « 1 2 »
Scripting
Meta 12 13,456 Último mensaje 29 Julio 2014, 21:26 pm
por Eleкtro
[Python] - Texto sin vocales « 1 2 »
Scripting
ChicoMaravilla 18 24,777 Último mensaje 11 Enero 2011, 16:57 pm
por Karcrack
Cambiar caracteres en cadenas --en C--
Programación C/C++
n_n 9 9,455 Último mensaje 2 Noviembre 2011, 01:27 am
por rir3760
Ayuda en C++ vocales con acento
Programación C/C++
adan-2994 3 5,394 Último mensaje 1 Diciembre 2011, 22:48 pm
por Eternal Idol
eliminar vocales
Programación C/C++
ALONSOQ 6 11,954 Último mensaje 6 Septiembre 2012, 19:38 pm
por BlackZeroX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines